Git命令,分场景

版权声明:本文为博主原创文章,转载请注明出处(http://blog.csdn.net/jaden_hool) https://blog.csdn.net/Jaden_hool/article/details/53009814
  • 本地代码尚不能提交,但是又必须同步服务器代码

    • 执行git stash :将本地代码保存;
    • 执行git pull origin ‘rBranch’:’lBranch’ :同步服务器代码;
    • 执行git stash apply [‘stashName’] :将stash中的代码合并到工作区,解决好冲突;

    • 需要将远程分支checkout到本地并且在本地建立对应分支

    • git checkout ‘–track’ -b ‘lBranch’ origin/’rBranch’:以远程分支为准新建本地分支,并本地分支和远程分支track起来
      这种做法要注意一点,因为此时rBranchName分支上的内容是上一次从服务器同步后的代码,并不是最新代码,所以需要执行git pull,拿到仓库的最新代码;
  • 有A,B两个分支,A分支上添加了一个新功能,现在想将这个功能也添加到B上,但是A分支的其它代码不方便合并到B分支

    • git commit -m “”:先在A分支上执行commit;
    • git log:查看此次commit的id;
    • git checkout ‘bBranch’:切换到B分支;
    • git cherry-pick ‘commit_id’:将此前那次commit提交到B分支上,有冲突就解决冲突;
  • 本地提交了多个commit,需要push到服务器上时,希望将这些commit合并成一个,以便其他开发者阅读
    ,假设提交了a,b,c三个commit,现在需要将bc合并成d

    • git reset –soft [commit a id]:此时代码不会有任何改变,但是执行git log时会发现只有commit a的信息了,执行git status会发现b,c的修改全部都在暂存区,还没有提交;
    • git commit -m “合并commit bc to d”:push到仓库后,其他开发者就看不到commit bc的信息啦。

猜你喜欢

转载自blog.csdn.net/Jaden_hool/article/details/53009814
今日推荐