git diff不会创建温度文件



我在使用git时会遇到一些奇怪的东西。我在Windows 7机器上使用git。

我想查看一些代码更改,因此我启动了吉特(Gitk),以检查我想审查的提交中的内容。在我更改的文件列表中,我突出显示了第一个文件,并且可以看到左侧的差异。但是我无法比较插图,然后右键单击第一个文件,然后选择"外部差异"。这可以正常工作,我可以将文件分散在"超越比较"中。

但是,当我尝试使用第二个文件执行同样的操作时,它会失败。除了比较开放之外,我可以看到路径中显示了两个文件,但它们不存在。

当我去看我的文件系统时,我可以看到存在" git.gitk-tmp.7992"(文件夹引用),但它是空的,因此当然,除了比较和git difftool无法捡起它们。

当我尝试在两个分支之间进行" git difftool"时,会发生类似的事情。

我不知道为什么它不会创建那些临时文件?!?

我希望有人能对此有所了解。

谢谢

我不知道远远不相比,但是我会尝试一下:

第一次运行外部差异时,它会启动BC。第二次,它启动了一个新的BC进程,该进程找到了上一个过程,因此它将消息发送到第一个实例,然后退出。

单击GITK中的外部差异时,它会创建温度文件,运行给定命令,等待程序退出,然后删除临时文件。当您已经拥有BC的实例时,第二个几乎立即退出,因此找不到它们。

这是我能做的最好的 - 尝试挖掘BC的手册和论坛。

gracchus的答案已被发现并帮助我解决了我的问题。

在《超越比较》的情况下,用户应在gitk中使用 BComp.exe而不是 BCompare.exe(我正在使用)。

bcomp.exe:

这是一个Win32 GUI计划。如果从版本控制系统启动,则应正常工作。如果从控制台窗口启动,控制台(或批处理文件)将不等待。

bcompare.exe:

这是主要应用程序。不管您打开了多少个窗户,一次只能运行一个副本。如果您启动第二份副本,它将告诉现有副本以立即开始比较并退出。

我使用gitk winmerge并遇到了同样的问题。我通过在致电External diff命令或更改Winmerge设置之前关闭Winmerge的所有实例来避免此错误:

Options > General > Uncheck the "Allow only one instance to run" checkbox.

相关内容

  • 没有找到相关文章

最新更新