difftool
有一个非常用户友好的选项,可以查看差异。这就是--dir-diff
选项——允许您任意浏览两个目录。
git mergetool
具有非常笨拙和不友好的用户界面。解决合并冲突必须按照Git给出的严格顺序进行。
是否有设置类似的选项的可能性?
$ git difftool --dir-diff
说
$ git mergetool --dir-merge
如何调用目录比较功能(例如WinMerge)?或者有没有其他解决方案提供用户友好的界面来解决多个文件合并冲突的问题?
difftool
有一个非常用户友好的选项,可以查看差异。这就是--dir-diff
选项——允许您任意浏览两个目录。
git mergetool
具有非常笨拙和不友好的用户界面。解决合并冲突必须按照Git给出的严格顺序进行。
是否有设置类似的选项的可能性?
$ git difftool --dir-diff
说
$ git mergetool --dir-merge
如何调用目录比较功能(例如WinMerge)?或者有没有其他解决方案提供用户友好的界面来解决多个文件合并冲突的问题?
git mergetool
传递文件列表。git ls-files --unmerged $DIR
。git mergetool `git ls-files --unmerged $DIR`
git mergetool -t meld``git ls-files --unmerged $DIR
命令,每个文件都会单独打开meld
窗口,然后我需要关闭meld
,接下来再为下一个文件重新打开meld
- 这与使用git difftool -t meld --dir-diff
的情况不同,后者可以显示整个目录的并排比较结果,这也是发帖者所询问的。 - sdbbs有一个简单的Python程序叫做meld,但任何可视化三个窗格合并的工具都可以。
要将其用于合并冲突解决,请先安装它,然后在git中未解决的合并状态下,键入:$ git mergetool
。
更多关于此主题的信息,请参阅:Git中无痛合并冲突解决
......我发现为执行合并而提供的工具和界面不能充分地装备程序员有效地执行它们。通常,程序员只会运行git merge,并希望git能够处理大部分块。对于冲突的块,人类驾驶员通常使用周围的上下文来粗略猜测预期的程序应该是什么样子。
本文将希望演示可以有一个更加量化的过程来解决合并冲突,从而消除这种风险操作的猜测工作......
git difftool -t meld --dir-diff
时,首先在 meld
的左右两个窗格中得到一个目录列表,通过颜色告诉你哪些文件已更改和哪些文件未更改;然后您可以双击一个文件,您将在 meld
中获得一个新选项卡,该选项卡会比较左右两个窗格中的文件。和提问者一样,我也希望在 mergetool
中进行相同操作 - 不幸的是,这个回答没有解释如何实现。 - sdbbs