2012-06-04 39 views
22

我有衝突,所以I型:Kdiff3不會合並工具命令打開

git mergetool 

然後我得到一個消息說:

命中迴歸到開始合併解決工具

通常當我這樣做時,它會打開kdiff3,這樣我就可以合併這些差異。

現在,當我這樣做時,它只是繼續到下一個文件,並且kdiff3根本不打開。

我三重cheched我的git配置和我的系統路徑,似乎都很完美。配置文件如下:

[merge] 
    tool = kdiff3 
[mergetool "kdiff3"] 
    path = c:/Program Files (x86)/KDiff3/kdiff3.exe 
[diff] 
    guitool = kdiff3 
[difftool "kdiff3"] 
    path = c:/Program Files (x86)/KDiff3/kdiff3.exe 
[core] 
    editor = \"C:/Program Files (x86)/GitExtensions/GitExtensions.exe\" fileeditor autocrlf = true 
[user] 
    name = James Farrell 
    email = [email protected] 
[github] 
    user = whygosystems 
    token = 87d00c2e613b3a7c8c1be817b75b8a33 
[diff] 
    external = C:/Program Files (x86)/Git/cmd/git-diff-wrapper.sh 

任何人有什麼想法可能是錯誤的?

我有一種感覺(雖然我可能是錯的,這一直是一個問題,因爲我安裝了新的Github的Windows客戶端)....

+0

我有這個問題不時,重新啓動機器一直有幫助。不知道爲什麼。 – eis

+0

@eis謝謝,我已重新啓動,但它沒有幫助。 – iKode

+1

有同樣的問題,對我來說這[解決方法](http://stackoverflow.com/a/15813064/1132850)幫助。 – PiQuer

回答

5

我沒有爲此目的在Windows上使用混帳在一段時間,但你的配置文件顯示了一些有趣的差異:程序字符串。

[core] 
    editor = \"C:/Program Files (x86)/GitExtensions/GitExtensions.exe\" fileeditor autocrlf = true 

VS

[difftool "kdiff3"] 
    path = c:/Program Files (x86)/KDiff3/kdiff3.exe 

我懷疑可能有一些問題,在節目名稱的空間。請嘗試設置比較/合併工具可執行文件路徑:

path = \"c:/Program Files (x86)/KDiff3/kdiff3.exe\" 
21

我意識到這是舊的,但對於未來的Google,KDiff3也有一個選項,其中如果合併是微不足道的,它會解決它靜靜地甚至從來沒有表現出窗口。

我過去曾發生過這種情況,所以可能是您正在發生的事情。我認爲該選項被稱爲「自動保存並退出合併而不發生衝突」。

+3

這個選項確實是culprid,但它總是被觸發,因爲git使用'--auto'標誌調用'kdiff3',所以它無法禁用kdiff3中的選項。有關解決方法,請參閱我對此[類似問題]的回答(http://stackoverflow.com/a/15813064/1132850)。 – PiQuer

2

再次,對於未來的Google:

由於2.48.02版(29 2014年11月),Git的擴展開始分發kdiff3的64位版本。 (請參閱https://github.com/gitextensions/gitextensions/blob/master/GitUI/Resources/ChangeLog.md#version-24802-29-november-2014。)

因此,如果您運行的是32位操作系統並且Git Extensions安裝程序安裝了kdiff3,則您的kdiff3甚至不會自行運行。解決方案是下載32位版本(http://sourceforge.net/projects/kdiff3/files/kdiff3/)並重新安裝。我甚至不需要先卸載64位版本,因爲安裝程序只是簡單地覆蓋了以前的安裝。