标签: difftool

超越与Diff 2分支同时进行比较

>>git difftool branch1 branch2打开我的difftool(Beyond Compare:BC)与每个在分支之间有差异的文件.我必须在每个文件之后关闭BC,只是为了重新打开下一个文件.

BC可以区分整个目录和多个文件.

有没有办法git difftool同时打开所有文件,或同时扩散整个树?

git branch beyondcompare difftool

16
推荐指数
2
解决办法
7372
查看次数

每次提交时都会使用Git diff工具吗?

我想运行git difftool HEAD~3.. path/to/file并让git为这三个提交中的每个提交打开difftool,以便我可以看到每个提交的并排视图.

我怎样才能获得git-difftool来做到这一点?

git diff git-diff difftool

12
推荐指数
2
解决办法
2589
查看次数

使用Mergetool比较和编辑Git中的分支

我有2个分支,我可以使用我的difftool(Beyond Compare)比较/差异.但是,用于diff的文件是临时副本,而不是当前分支中的实际文件.这意味着如果我想对现有文件进行更改,我无法通过difftool进行更改.我需要复制一个分支的文件,签出另一个分支并在实际文件之间使用常规差异.

有没有办法让difftool使用当前分支的实际文件(至少在一边)?

更新和解决方案:

我用的命令是git difftool branch1 branch2.无论当前分支如何,这都会区分2个分支.

该命令git difftool branch按需运行,其中一个"side"作为当前检出的分支.

git diff branch beyondcompare difftool

11
推荐指数
1
解决办法
3987
查看次数

使用difftool在同一文件的分阶段和非分阶段版本之间的差异

有没有办法查看同一文件的版本stagedunstaged版本之间的差异?

例如:

Changes to be committed:

    modified:   conf/application.conf

Changes not staged for commit:
  (use "git add/rm <file>..." to update what will be committed)
  (use "git checkout -- <file>..." to discard changes in working directory)

    modified:   conf/application.conf
Run Code Online (Sandbox Code Playgroud)

当我进行更改然后再次修改文件而不进行暂存时会发生这种情况.

EDIT

git status -vv命令还不够好,因为我需要使用diff/ difftool命令.这是因为在实践中,太多文件中的更改太多,滚动浏览所有文件并不高效.但diff/ difftool允许我指定我感兴趣的文件.

git diff git-diff difftool git-stage

11
推荐指数
1
解决办法
7293
查看次数

Visual Studio Diff Tool - 何时允许编辑?

我正在使用Visual Studio 2013tfs 2013.有时我会进行代码更改并点击与最新版本进行比较.diff工具将打开,允许我在diff工具中编辑文件.但是其他时候它不会让我编辑但只会读.

是否有一些设置或我需要为我做的事总是允许编辑?

在数据库项目中,我注意到它永远不会让我在diff工具中编辑.我需要改变一些设置吗?

我在网上搜索过,但没有找到任何答案.谢谢.

tfs difftool visual-studio

10
推荐指数
2
解决办法
3496
查看次数

.gitattributes没有区别,尝试在使用git difftool时跳过文件

我已经阅读了Git Pro网站,并且我已经在StackOverflow上阅读了多个答案,但遗憾的是我无法让.gitattributes为我工作.

每当我使用时git difftool,它都会尝试显示二进制文件之间的差异,例如图像文件(PNG).

我在.gitattributes文件中尝试了各种组合,但每当我运行git difftool命令时,它仍然会尝试比较二进制文件.

在我的存储库文件夹中,我有:
.git
.gitattributes
[我的项目的文件子目录]

我为.gitattributes文件尝试了很多过滤器组合.例如:

*.pbxproj binary
*.png二进制文件

或者:

*.pbxproj binary -diff
*.png binary -diff

甚至:

*.pbxproj binary
*.png binary
*.pbxproj -diff -difftool
*.png -diff -difftool

每次,我只需将我的.gitattributes文件添加到索引并提交它.但是,在这样做之后,当我运行我git difftool来检查两个分支之间的差异时,会发生这种情况:

git difftool otherBranch HEAD

查看:'MyApp.xcodeproj/project.pbxproj'点击返回启动'diffmerge':

查看:'MyApp/Background1.png'点击返回启动'diffmerge':

它是怎么做到的?我怎么能最终正确设置我的.gitattributes文件,所以我不必查看这些特定文件的差异?

为了进一步调查,我使用了git check-attr如下命令:
git check-attr binary MyApp/MainBackground.png

输出是MyApp/MainBackground.png: binary: set......我想知道为什么git difftool仍然迫使我查看差异!

git diff difftool

9
推荐指数
1
解决办法
2693
查看次数

使用Xcode 4作为Git difftool

我想使用Xcode 4的"版本编辑器"视图作为Git的标准difftool.

换句话说,我希望能够设置此选项:

git config --global diff.external <XCODE>
Run Code Online (Sandbox Code Playgroud)

并且在Xcode的diff查看器中打开diff(因为它很酷).

这可能吗?怎么样?

git diff xcode difftool xcode4

9
推荐指数
1
解决办法
4124
查看次数

如何使用kdiff获取目录git branch diff

我用我的git配置了kDiff3.

我需要的是看到两个分支之间的目录差异.我跑的时候

git difftool <headbranch>

命令它逐个打开所有文件.但那不是我想要的.

git diff difftool kdiff3

9
推荐指数
2
解决办法
5390
查看次数

Meld在OSX 10.10上有错误

我在OSX上通过Homebrew安装了Meld 3.14.0(本帖的当前版本).每当我启动它时,它都会给我这样的:

Couldn't bind the translation domain. Some translations won't work.
'module' object has no attribute 'bindtextdomain'
2015-08-13 10:35:55.007 Python[2396:32534] *** WARNING: Method userSpaceScaleFactor in class
NSView is deprecated on 10.7 and later. It should not be used in new applications. Use convertRectToBacking: instead.
Run Code Online (Sandbox Code Playgroud)

现在它仍然启动,似乎工作正常.我可以查看文件的差异,这是我最关心的.当我退出时,我从命令行获得Mac OSX对话框"Python Quit Unexpectedly"以及这个:

/usr/local/Cellar/git/2.4.6/libexec/git-core/mergetools/meld: line 1:  2396 Segmentation fault: 11  "$merge_tool_path" "$LOCAL" "$REMOTE"
Run Code Online (Sandbox Code Playgroud)

编辑我只有点击红色X关闭Meld才能获得段错误.如果我退出Python(当Meld打开时在Dock中显示的内容)通过cmd + Q它会干净地关闭.

我使用的Meld版本是最新的,所以我很惊讶我找不到更多关于这个问题的信息.我的Python版本是2.7.10.

其他人有这个问题吗?我担心,当我想实际进行合并并保存时,由于崩溃我无法做到.

python macos meld difftool osx-yosemite

8
推荐指数
1
解决办法
538
查看次数

Git difftool 子模块

我正在考虑以一种并不真正适合的方式使用子模块,但我的目标是为开发人员简化一些事情。我有一个项目基本上仅由子模块组成 - 其中 4 个。重要的是它们彼此独立,否则我只会制作一个大的回购协议。从父存储库中,我可以通过执行 立即查看所有子模块的差异git diff --submodule=diff

但我真正想要的是相当于git difftool -d但同时适用于所有子模块。理论上 difftool 应该与该--submodule=diff标志一起使用(因为git difftool具有与 diff 相同的选项),但事实并非如此。有想法吗?

git vimdiff beyondcompare difftool

7
推荐指数
0
解决办法
189
查看次数