这是我人生第一篇博客,就记录一些工作中经常使用用到的git命令吧,这些东西以前都是保存到笔记本上的,挪到这里来,希望能给新手们带来方便。大家不能寄希望于看了笔记就能够领会,忘看一些内容的时候,能够上手联系。

    我就不长篇大论的介绍什么是git了,总之就是一个管理代码的工具。

一、简单配置git

1.  设置名字和邮箱
        可以用git config命令是配置git
        git config --global user.name "john"
        git config --global user.email "john@qq.com"   
    2. 设置账号密码
        a、vim ~/.git-credentials,按照这种格式  https://{username} : {password}@github.com ,输入你自己的账号和密码,然后保存;
        b、执行命令:git config --global credential.helper   store
        c、查看文件 ~/.gitconfig 中多了一项 
             [credential] 
            helper = store
            表明设置账号密码成功。
二、通过git操作项目代码
    1、git pull -b [branch name] [ url ]  
           直接git pull某个仓库的某个分支的代码,例如:git pull -b release-17.04 https://gitlab.com/source.git
           或者直接git pull https://gitlab.com/source.git ,这样直接下载的是master分支的代码
    2、获取一个远端仓库的所有代码
            a、git remote add  new_origin  https://gitlab.com/source.git 添加远端仓库的url到本地git,命名为new_origin
            b、git fetch new_origin  下载new_origin的所有代码到本地
    3、切换分支
            git checkout [ -f ] [branch name]
    4、新建分支
        a、首先执行 git branch -b [new branch name] 创建一个分支,然后git checkout [new branch name]切换到新分支;
        b、直接执行git checkout -f [new branch name],直接创建新分支,并切换到新分支;
        c、将新分支推送到远端仓库:git push origin [new branch name]
    5、删除分支
        a、git branch [  -d   -D ] [ branch name] : -d 是删除当前不在的分支,-D删除当前所在分支
        b、git push origin :[branch name]
    6、比较两个分支
        a、查看分支master和分支dev中,master有,而dev分支没有的提交
                git log master ^dev
        b、查看分支master和分支dev中,dev比master多提交了哪些内容
                git log master..dev   (注意:输出的是两个点后面的分支多出的内容)
        c、比较分支master和分支dev有哪些不一样的提交
                git log --left-right master...dev 
    7、同步远端的分支情况到本地
            git remote prune origin
    8、回滚
            git reset HEAD~n    :回滚到n个提交之前
            git reset --hard HEAD~n :回滚到n个提交之前,并重置暂存区
            git reset --hard [commitid]:回滚到commitid处
            git reset --soft xxxxx   :回滚,不会重置暂存区
            git reset [commitid] [filename] : 回滚该文件到某个commit提交处
    9、 比较文件提交差异
            git diff [filename] :比较两个文件的工作区和暂存区的差异
            git diff --cached :比较暂存区和版本库之间的差异
            git diff  [branch1]..[branch2] :比较两个分支的差异
            git diff  [commitid1]  [commitid2] : 比较两次提交的差异
    10、查看提交记录
            git log [filename] : 查看文件的提交记录
            git log -p [filename] : 查看文件的详细修改记录
     11、设置跟踪本地仓库和远程仓库
            git branch --set-upstream-to=origin/master:设置跟踪远程仓库master和本地仓库master
            git branch --set-upstream develop origin/develop : 设置跟踪远程仓库develop和本地仓库develop
    12、查看远程仓库的url
            git remote -v
    13、将本地仓库和远程仓库更新一下,保持分支信息上的同步
            git remote prune origin : 刷新远程仓库origin

三、结束

    暂时先分享这么多,已经基本能够应付日常工作需要,需要进一步了解git的操作,欢迎大家找我一起交流学习。