赞
踩
然后对冲突文件进行手动合并,这里的HEAD是远程的,修改playv1_3是我们添加的代码,我们可以将这部分删除。
修改完后如下图所示,然后保存
依次执行如下命令即可
git add .
git status
git rebase --continue
git push
如果我们在第三步的时候使用git pull的话,会出现下面第二张图,保存退出后
然后依次执行上面的4 5 (需要注意的是,这里的head代表的是我们修改的,下边是远程仓库的)。解决冲突后,我们执行git add .(如果执行了commit,那么下面第一条的信息就是我们commit的信息)。这里的commit可以执行也可以不执行。然后执行git push这时候我们再看这里的log就会多了一条我们不需要的(不执行commit也会有这么一条信息)。
二者对比可知,rebase没有产生新的节点,使用rebase的git演进路线(提交树)是一直向前的,这样在版本回退时也很容易,用merge的git路线是跳跃的,可以明确的知道是从哪个分支或节点修改的。当合并代码有冲突时,需要手动修改冲突内容后,addcommit,push.而rebase 操作的话,会中断rebase,同时会提示去解决冲突。解决冲突后, 再执行 git rebase–continue
继续操作,再push.
想要更好的提交树,建议使用rebase操作会更好一点,这样可以线性的看到每一次提交,并且没有增加提交节点。不过也有些项目,不建议使用rebase, 一般使用merge,或者看公司与项目的规定
尽量在commit之前先进行pull操作,避免产生冲突,否则还需要解决冲突。
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。