Git 分支或提交的差异在视觉差异工具中显示文件列表概述,然后可选择单个文件差异
Git diff of branches or commits showing file list overview in visual difftool and then selectable single file diff
tl;dr: 如何让我的自定义 difftool 打开分支或提交 diff 的 directory/file 视图,以便我可以跳入我的 difftool单个文件差异并返回目录列表到 select 下一对文件?使用 git 和 Beyond Compare 4。(从文件列表到文件差异来回跳转部分是 difftools 的内置功能)。
详情:
在过去的几个月里,我一直在努力 Git,这是一个很棒的工具。但我想知道是否有可能解决我在 git 主题的互联网搜索中没有找到的功能。编写一些脚本来获得类似的行为也很好。但也许它是内置的或者有人已经解决了这个问题?
我想做什么?
在我以前的工作环境中,我有可能 select 看到 2 次签入(提交)的差异。它在我的自定义差异工具中打开了一个 file/directory 差异列表,我并排看到了所有文件。一方面提交(或分支)第一,另一方面提交(或分支)第二。我可以 select 一个文件对并查看这 2 个文件的差异,并在完成后跳回 directory/file 列表(自定义差异工具功能)。
我的git在做什么?
目前如果我做一个涉及多个文件的差异,比如
git difftool branch1..branch2
git bash 一个接一个打开文件。分别要求每一个。如果有很多文件并且我不确定我想事先查看什么或者我只是想获得一个概览,这就有点笨拙了。我特别希望在我的 difftool 中看到它。
Ann.: 一个更复杂的功能是能够看到 3 个文件的差异,包括文件的共同祖先(但不在 file/directory 视图中)。
信息:
我在一个 windows 平台上,所以如果你知道一个 linux 解决方案或有一个解决方案,请给我一些有关 linux 内部结构的信息。
可能我正在使用的工具已经具有 "secret" 功能?它们是 Visual Studio 2013 和 Sourcetree 除了命令行 git bash.
如果相关:我使用的 difftools 是 Beyond Compare 4 和 Sourcegear DiffMerge。
我不知道我一直在看什么。当我做一些差异并重新阅读 git diff-tool 的帮助页面以记住参数时,我只是偶然发现了解决方案。通常我只阅读 git diff 帮助页面,因为它们共享相同的参数。
在那里我看到了参数 -d 并试了一下。
文件夹和文件的双向差异的解决方案是命令:
git difftool -d branch1 branch2
git difftool --dir-diff branch1 branch2
或
git difftool -d commit1 commit2
然后 Beyond Compare 以目录差异模式打开,我可以看到分支或提交之间的差异。
虽然您只能看到更改的文件,但不包括未更改的文件。但这并不是真正的缺点。
在 git-difftool 的帮助文件中说:
-d
--dir-diff
Copy the modified files to a temporary location and perform a
directory diff on them. This mode never prompts before launching the diff tool.
tl;dr: 如何让我的自定义 difftool 打开分支或提交 diff 的 directory/file 视图,以便我可以跳入我的 difftool单个文件差异并返回目录列表到 select 下一对文件?使用 git 和 Beyond Compare 4。(从文件列表到文件差异来回跳转部分是 difftools 的内置功能)。
详情:
在过去的几个月里,我一直在努力 Git,这是一个很棒的工具。但我想知道是否有可能解决我在 git 主题的互联网搜索中没有找到的功能。编写一些脚本来获得类似的行为也很好。但也许它是内置的或者有人已经解决了这个问题?
我想做什么?
在我以前的工作环境中,我有可能 select 看到 2 次签入(提交)的差异。它在我的自定义差异工具中打开了一个 file/directory 差异列表,我并排看到了所有文件。一方面提交(或分支)第一,另一方面提交(或分支)第二。我可以 select 一个文件对并查看这 2 个文件的差异,并在完成后跳回 directory/file 列表(自定义差异工具功能)。
我的git在做什么?
目前如果我做一个涉及多个文件的差异,比如
git difftool branch1..branch2
git bash 一个接一个打开文件。分别要求每一个。如果有很多文件并且我不确定我想事先查看什么或者我只是想获得一个概览,这就有点笨拙了。我特别希望在我的 difftool 中看到它。
Ann.: 一个更复杂的功能是能够看到 3 个文件的差异,包括文件的共同祖先(但不在 file/directory 视图中)。
信息:
我在一个 windows 平台上,所以如果你知道一个 linux 解决方案或有一个解决方案,请给我一些有关 linux 内部结构的信息。
可能我正在使用的工具已经具有 "secret" 功能?它们是 Visual Studio 2013 和 Sourcetree 除了命令行 git bash.
如果相关:我使用的 difftools 是 Beyond Compare 4 和 Sourcegear DiffMerge。
我不知道我一直在看什么。当我做一些差异并重新阅读 git diff-tool 的帮助页面以记住参数时,我只是偶然发现了解决方案。通常我只阅读 git diff 帮助页面,因为它们共享相同的参数。
在那里我看到了参数 -d 并试了一下。
文件夹和文件的双向差异的解决方案是命令:
git difftool -d branch1 branch2
git difftool --dir-diff branch1 branch2
或
git difftool -d commit1 commit2
然后 Beyond Compare 以目录差异模式打开,我可以看到分支或提交之间的差异。
虽然您只能看到更改的文件,但不包括未更改的文件。但这并不是真正的缺点。
在 git-difftool 的帮助文件中说:
-d
--dir-diff
Copy the modified files to a temporary location and perform a
directory diff on them. This mode never prompts before launching the diff tool.