700字范文,内容丰富有趣,生活中的好帮手!
700字范文 > 【git】git解决冲突

【git】git解决冲突

时间:2021-03-09 12:51:22

相关推荐

【git】git解决冲突

git解决冲突

1.概述2.rebase使用3.rebase相关命令4.参考

1.概述

git解决冲突有两种办法: rebasemerge先说结论,解决冲突时尽量使用rebase。原因是因为rebase可以使得提交历史更加清晰,代码更加健壮。rebase与merge的区别: rebase:重定义起点,相当于将冲突分支整体“迁移”至另一分支上。merge:聚合分支,将冲突分支和另一分支“聚合”合并至新节点上。

(图片出处见参考)

2.rebase使用

背景:分支diverge之后,直接git push会失败(类似于上图)。此时需要合并分支解决冲突。使用: git pull --rebase:down代码到本地。重定位到没有冲突的节点;本地此节点之后的commit代码都被暂时取消。解决冲突。发生冲突的文件会被红色感叹号标记;发送冲突的代码会用>>、==、<<符号记录。通过删除冲突代码解决冲突。提交文件。git add 修改冲突后的文件。继续rebase。git rebase --continue。合并分支的节点继续前移,直到下一个冲突节点,然后重复2、3步骤继续解决冲突,直到解决所有冲突。完成rebase。解决所有冲突后,被暂时取消commit的代码将自动重新恢复conmmit状态。git push。重新提交代码。 解决冲突示例:

以下为例,上半部分是master分支的修改,下半部分是develop分支的修改,删除develop部分,保留上半部分即可。

<<<<<<<<<<<<<< HeadThis is master.==========This is develop.>>>>>>>>>>>>> Develop

3.rebase相关命令

git rebase --continue:继续解决冲突。git rebase --skip:跳过这一次的本地的有冲突的commit。git rebase --abort:放弃rebase,恢复到之前状态。git stash:将当前暂存或未暂存(没有commit)的代码储藏起来。git stash pop:将储藏的代码释放。

4.参考

参考1:git merge和git rebase的区别, 切记:永远用rebase

参考2:git的冲突解决–git rebase之abort、continue、skip

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。