2.0 KiB
2.0 KiB
解决冲突
文件冲突原因
在进行合并、摘取和变基操作时,不可避免的会遇到更改发生冲突,需要先解决冲突,然后才能继续。
产生冲突的原因很简单:
从同一个节点衍生出两个版本A和B, 在相同的位置,A版本改成某个值,B版本改成另个值,然后把B合并到A上,这时git就会触发冲突,两个版本的优先级是相同的,git不知道该采用哪个值,所以就需要人工干预。
冲突界面介绍
右键TortoiseGit,选择解决冲突,就会弹出冲突列表。
双击列表中的文件,打开合并窗口。
文本框
合并窗口有三个文本框:
- 左上角是要导入的版本
- 右上角是当前的版本
- 下方是合并后的版本
要注意的是,只有下方的文本框可以编辑,上面两个都是只读的。
文本框的左边会有一些小图标,它们代表对应行所做更改的操作类型。
工具栏
常用的几个操作:
- 标记为已解决:在该文档的所有冲突解决完后点击,会在冲突文件列表中删除该文件。
- 上/下一处冲突:快速定位冲突。
- 使用左侧文本块:用于快速采纳更改,下面有个三角,可以选择“使用右侧文本块”。
详细操作
- 在冲突列表打开冲突文件。
- 找到下文本框左侧的叹号,该行表示尚未解决的冲突。
- 然后再看上方两文本框的相同位置。
- “=”代表该版本的修改前的文本;
- “+”代表新增或者修改后的文本;
- “-”代表删除该行;
- 然后根据实际情况选择左边或者右边,亦或者两个都不满足,直接在下文本框编辑。
- 用“上/下一处冲突”切换到下一处冲突编辑。
- 全部修改完后,点击“标记为已解决”,然后再保存退出。
- 处理剩下的冲突文件。
- 测试、提交、推送。