git_tutorials/Lab5/lab5.md

2.0 KiB
Raw Permalink Blame History

解决冲突

文件冲突原因

在进行合并、摘取和变基操作时,不可避免的会遇到更改发生冲突,需要先解决冲突,然后才能继续。

产生冲突的原因很简单:
从同一个节点衍生出两个版本A和B 在相同的位置A版本改成某个值B版本改成另个值然后把B合并到A上这时git就会触发冲突两个版本的优先级是相同的git不知道该采用哪个值所以就需要人工干预。

冲突界面介绍

右键TortoiseGit选择解决冲突就会弹出冲突列表。

双击列表中的文件,打开合并窗口。

文本框

合并窗口有三个文本框:

  • 左上角是要导入的版本
  • 右上角是当前的版本
  • 下方是合并后的版本

要注意的是,只有下方的文本框可以编辑,上面两个都是只读的。
文本框的左边会有一些小图标,它们代表对应行所做更改的操作类型。

工具栏

常用的几个操作:

  • 标记为已解决:在该文档的所有冲突解决完后点击,会在冲突文件列表中删除该文件。
  • 上/下一处冲突:快速定位冲突。
  • 使用左侧文本块:用于快速采纳更改,下面有个三角,可以选择“使用右侧文本块”。

详细操作

  1. 在冲突列表打开冲突文件。
  2. 找到下文本框左侧的叹号,该行表示尚未解决的冲突。
  3. 然后再看上方两文本框的相同位置。
    • “=”代表该版本的修改前的文本;
    • “+”代表新增或者修改后的文本;
    • “-”代表删除该行;
  4. 然后根据实际情况选择左边或者右边,亦或者两个都不满足,直接在下文本框编辑。
  5. 用“上/下一处冲突”切换到下一处冲突编辑。
  6. 全部修改完后,点击“标记为已解决”,然后再保存退出。
  7. 处理剩下的冲突文件。
  8. 测试、提交、推送。