赞
踩
git rebase 算是git里的高级操作了,他主要用来解决两种情况。
我们回到master分支,然后修改test.txt,提交信息为e
这个时候我们对比一下master和rebasetest两个分支的log信息,如下
我们看到,rebasetest分支是在master提交a后创建并修改的,但这个时候master已经有了e的提交信息,所以我们认为master分支走的比rebasetest分支远(在开发中,我们是以master为主要分支的,所有其他分支的代码都会合到master),所以我们需要先在rebasetest分支上执行rebase操作,然后再将rebasetest分支合并到master
提示执行失败,那是因为自动合并时产生了冲突并进入了一个临时分支,我们看一下现在test. txt的内容
所以现在我们需要解决冲突,解决冲突可以看我前面的文章,下面是我解决后的内容
解决后,我们执行git add .保存修改,然后这些git rebase --continue 继续执行rebase操作
当rebase操作完成后,我们会重新回到rebasetest分支,我们看一下现在的git log
我们已经成功将master分支的修改合并到了rebasetest分支。现在我们将rebasetest分支的修改合并到master
我们看到合并非常顺利,因为我们已经在rebase的时候解决了冲突,再来看一下git log
log非常干净,根本没有合并分支的提交信息,这样就保证了提交的简洁,非常有利于查看提交信息和各个提交修改了什么。
当我们在执行rebase操作是,如果出现我们无法掌控我情况ian,可以随时执行git rebase --abort操作来取消rebase操作,就会恢复到rebase之前的状态
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。