在使用git的过程中经常需要使用到git pull命令,在更新远端代码的同时如果与本地代码产生冲突了,

那么冲突的文件中就出现了需要手动合并的部分,而git pull --rebase不同的地方则是当有这些冲突存在时,

git帮我们自动创建了一个新的分支,并且git告诉你接下来你要在这个新的分支上处理这个冲突,

此时执行git status命令后可以看到首要的提示是这样的:

rebase in progress; onto 24f42c6
You are currently rebasing branch 'master' on '24f42c6'.
(fix conflicts and then run "git rebase --continue")

并且git还告诉我们 fix conflicts and then run "git rebase --continue",意思是解决冲突然后执行git rebase --continue命令,

其实git rebase --continue的正确操作应该是确认处理好冲突后则将调整好的文件添加到暂存区,并执行git rebase --continue命令告诉git,我已经解决好冲突了,

并且已经将处理后的文件添加到了暂存区,现在可以将这些文件commit了,

简单来讲就是正常的解决冲突过程是

1,git add .

2,git commit -m "..." 

3,git push时因为本地仓库代码与远程仓代码有冲突,所以接下来

4,git pull拉取远程代码,而冲突需要手动解决

5,解决好后重新进行git add . git commit -m".." git push

 

而git pull 这一步如果加上了 --rebase的选项,那么第5步操作将变成如下

git add .

git rebase --continue

git push

 

所以git pull --rebase用在合并代码的时候其作用就是在一个随机创建的分支上处理冲突,避免了直接污染原来的分区

 

转载于:https://www.cnblogs.com/kungfupan/p/9967531.html

Logo

瓜分20万奖金 获得内推名额 丰厚实物奖励 易参与易上手

更多推荐