Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/fsharp/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
分支或提交的Git diff在visualdifftool中显示文件列表概览,然后选择单个文件diff_Git_Visual Studio 2013_Atlassian Sourcetree_Git Diff_Git Difftool - Fatal编程技术网

分支或提交的Git diff在visualdifftool中显示文件列表概览,然后选择单个文件diff

分支或提交的Git diff在visualdifftool中显示文件列表概览,然后选择单个文件diff,git,visual-studio-2013,atlassian-sourcetree,git-diff,git-difftool,Git,Visual Studio 2013,Atlassian Sourcetree,Git Diff,Git Difftool,tl;dr:如何让自定义difftool打开分支的目录/文件视图或提交diff,以便在单个文件diff中跳入difftool并返回目录列表以选择下一对文件?使用git和Beyond Compare 4。(从文件列表到文件diff来回跳转是difftools的一个内置功能) 详细信息: 在过去的两个月里,我一直致力于Git,这是一个很棒的工具。但我想知道是否有可能解决我在互联网上搜索git主题时没有发现的一个特性。编写脚本以获得类似的行为也可以。但也许它是内置的,或者有人已经解决了这个问题 我想做

tl;dr:如何让自定义difftool打开分支的目录/文件视图或提交diff,以便在单个文件diff中跳入difftool并返回目录列表以选择下一对文件?使用git和Beyond Compare 4。(从文件列表到文件diff来回跳转是difftools的一个内置功能)

详细信息:
在过去的两个月里,我一直致力于Git,这是一个很棒的工具。但我想知道是否有可能解决我在互联网上搜索git主题时没有发现的一个特性。编写脚本以获得类似的行为也可以。但也许它是内置的,或者有人已经解决了这个问题

我想做什么?
从我以前的工作环境中,我可以选择查看2次签入(提交)的差异。它在我的自定义diff工具中打开了一个文件/目录diff列表,我同时看到了所有文件。一方提交(或分支)编号。另一方提交(或分支)编号2。我可以选择一个文件对,查看这两个文件的差异,并在完成后跳回目录/文件列表(自定义difftool功能)

我的git在做什么?
目前如果我做一个涉及多个文件的diff,比如

git difftool branch1..branch2
git bash一个接一个地打开文件。分别要一个。如果有很多文件,并且我不确定我想先看什么,或者我只是想得到一个概述,那么这就有点不确定了。我尤其希望在我的difftool中看到它

Ann.:一个更加突出的功能是能够看到3文件差异,包括文件的共同祖先(但不在文件/目录视图中)

信息:
我在windows平台上,因此如果您知道linux解决方案或已经设置了linux解决方案,请给我一些有关linux内部结构的信息。
可能我正在使用的工具已经有“秘密”功能了?除了命令行git bash之外,还有Visual Studio 2013和Sourcetree。

如果相关:我使用的difftools是超越比较4和Sourcegear DiffMerge。

我不知道我一直在看什么。当我做了一些区分并重新阅读git diff tool的帮助页面以记住一个参数时,我偶然发现了这个解决方案。通常我只阅读git diff帮助页面,因为它们共享相同的参数

在那里,我看到了参数-d并尝试了一下。
带文件夹和文件的双向差异解决方案是命令:

git difftool -d branch1 branch2
git difftool --dir-diff branch1 branch2

然后,Beyond Compare在目录差异模式下打开,我可以看到分支或提交之间的差异。
虽然您只能看到已更改的文件,但不包括未更改的文件。但这并不是真正的缺点

在其上的帮助文件中显示:

git difftool -d commit1 commit2
-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.