本文是记录 git gui 怎样处理合并时产生的冲突。
本例中,只含有一个文件 main.txt 。
当前的分支状态树为,
image.png
其中分支 A
上,main.txt 的内容为
My name is Liu.
而分支 B
上, main.txt 的内容为
I'm from China.
现在,分支 B
希望合并到分支 A
上。
那么就先切换分支 A
后,点击 Merge
上的 Local Merge
。
image.png
image.png
对于 Git 而言,合并分支也好,提交更改也好,均会新增节点,保存更改。但是合并分支时,其还会分析两个版本的区别,以作提醒注意的功能。这就是冲突的产生(我个人理解)。
因此,解决冲突的方法有三种,
- 使用本分支(Local)的版本
- 使用被合并(Remote)的版本
- 新修改一个版本作为提交(此时的提交是在冲突解决过程时的提交,和普通提交又有一点区别)
那我们先看看现在的分支树,
image.png
其意思是让你提交一个方案,最终决定分支的走向。
其中前两个方法可以在文本区右击可以选择,保留哪个版本。
image.png
第三种方法,就相当于,把文本里 <<<
到 >>>
的内容
image.png
改成
image.png
但现在请注意,提交到 Staged 区时,直接点击下面的按键会没反应(不知道是不是我版本的原因)。而是从菜单栏 Commit
里 找 Staged To Commit
。
image.png
然后就和平常提交一样了。