Chr*_*alo 57 git user-interface merge-conflict-resolution
当Git中存在合并冲突时,会将以下垃圾插入冲突文件中.三个问题:

注意:如果它是相关的,我使用的是GitHub的Mac GUI客户端.
Sim*_*ter 36
介于<<<<<<和之间的所有内容======都来自HEAD修订,这是在开始合并操作之前的已提交状态(git merge如果树是脏的,则会抱怨,因此它应该等同于您的工作目录).
======和之间的部分>>>>>>来自合并的版本.之后的文本>>>>>>是引入冲突更改的提交的注释.
存在冲突标记意味着该部分文件的基本版本与"新"版本不同.未显示基本版本(最后一个共同祖先).
如果你想要一个更舒适的合并并有一个GUI可用,我建议你看看kdiff3.
Chr*_*alo 21
现在有一种比尝试读取Git插入文件的乱码标记更好的解决方案.Kaleidoscope 2,Black Pixel的diff工具的第二个版本,现在也是一个合并工具.它不是免费的,但它的工作效果非常好.
安装Kaleidoscope 2后,与Git集成非常简单.打开Kaleidoscope并从菜单栏中选择Kaleidoscope > Integration ...

然后你会看到这个窗口.只需从左侧导航栏中选择Git,然后安装ksdiff命令行工具,然后制作Kaleidoscope Git的默认差异和合并工具.

最后,一旦你在Git中发生合并冲突,只需转到命令行并执行即可git mergetool.现在冲突很容易理解.请享用.

spa*_*row 16
<<<< HEAD #Where the conflict starts
#Previous Revision
========== # The point where things look iffy
#Things that changed
>>>>> New Commit # Point where the conflict ends
Run Code Online (Sandbox Code Playgroud)
Mac的Xcode附带FileMerge,可以在命令行上访问opendiff.
git mergetool -t opendiff