firemail

标题: 解决冲突 .base .local .remote文件 [打印本页]

作者: Qter    时间: 2024-8-27 11:30
标题: 解决冲突 .base .local .remote文件
编辑冲突的方法

第一种方法:

直接编辑冲突文件冲突产生后,文件系统中冲突了的文件(这里是test.txt)里面的内容会显示为类似下面这样:
a123
<< << << < HEAD
b789
== == == =
b45678910
>> >> >> > 6853e5ff961e684d3a6c02d4d06183b5ff330dcc
c

其中:冲突标记<<<<<<< (7个<)与=======之间的内容 是我的修改,=======与>>>>>>>之间的内容是 别人的修改
此时,还没有任何其它垃圾文件产生。(比如.org文件等)

最简单的编辑冲突的办法,就是直接编辑冲突了的文件(test.txt),把冲突标记删掉,把冲突解决正确。



第二种方法

利用图形界面工具解决冲突如果要解决的冲突很多, 且比较复杂,图形界面的冲突解决工具就显得很重要了。

执行git mergetool用预先配置的Beyond Compare解决冲突:
$ git mergetool
Merging :
test.txt

Normal merge conflict for 'test.txt' :
  {local} : modified
  {remote} : modified




上面三个窗口依次是“LOCAL”、“BASE”、“REMOTE”,它们只是提供解决冲突需要的信息, 是无法编辑的
下面一个窗口是合并后的结果,可以手动修改,也可以点击相应颜色的箭头选择“LOCAL”或者“REMOTE”。


在Beyond Compare中修改冲突保存后,冲突文件(test.txt)中的冲突标记就没有了,成了修改后的内容,一个文件的冲突编辑就完成了。

注意:

启动Beyond Compare之后,会自动生成几个包含大写字母名称、数字的辅助文件

后面的数字“5032”用于标识这一组.backup .local .base .remote文件。


关闭Beyond Compare时,这几个辅助文件都会自动删除,但同时会生成一个test.txt.orig的文件内容是解决冲突前的冲突现场
默认该.orig文件可能不会自动删除, 需要手动删掉
https://blog.csdn.net/zhangbinsijifeng/article/details/49332615






欢迎光临 firemail (http://firemail.wang:8088/) Powered by Discuz! X3