git_tutorials/Lab5/lab5.md

40 lines
2.0 KiB
Markdown
Raw Permalink Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

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