2015-12-21 145 views
1

我正在嘗試在Windows 10下爲Git配置一個外部difftool和mergetool。爲什麼我無法爲Git配置外部difftool或mergetool?

一切都會告訴我輸入兩個Git命令,如下所示。 有人說要使用wrapper.sh,而其他人則說這不是必要的。

git config --global diff.tool diffmerge 

(第二行看起來是這樣的:)

git config --global difftool.diffmerge.cmd "path to sgdm.exe or some_wrapper.sh" $LOCAL $REMOTE** 

這對我不起作用。我也試過:

git config --global difftool.diffmerge.cmd C:/Program\ Files/SourceGear/Common/DiffMerge/sgdm.exe \"$LOCAL\" \"$REMOTE\" 

git config --global difftool.diffmerge.cmd C:/Program\ Files/SourceGear/Common/DiffMerge/sgdm.exe "$LOCAL" "$REMOTE" 

git config --global difftool.diffmerge.cmd "C:/Program\ Files/SourceGear/Common/DiffMerge/sgdm.exe $LOCAL $REMOTE" 

我的配置文件看起來像這樣:

[filter "lfs"] 

     clean = git-lfs clean %f 
     smudge = git-lfs smudge %f 
     required = true 
[user] 

     name= John Doe 
[diff] 

     tool = dm 
[difftool] 

     prompt = true 
[difftool "dm"] 

     cmd = \"C:\\Program Files\\SourceGear\\Common\\DiffMerge\\sgdm.exe\" \"$LOCAL\" \"$REMOTE\" //t 

我在做什麼錯?

+0

你的配置文件是什麼樣的?我擔心,當你使用這些命令寫入它時,最終會丟失Program \ Files中的'\'而構成錯誤的路徑。我猜這個文件是在%HOME%.gitconfig但我不使用windows。 – Fabio

+0

格式化編碼 –

+0

我終於明白了! – Ag71191

回答

0

檢查您的全球.gitconfig文件以確保路徑以正確格式結尾(帶有空格的路徑引號等)。

這是我從我的配置文件中的相關部分:

[diff] 
    tool = vsdiffmerge 
[difftool] 
    prompt = true 
[difftool "vsdiffmerge"] 
    cmd = \"C:\\Program Files (x86)\\Microsoft Visual Studio 11.0\\Common7\\IDE\\vsdiffmerge.exe\" \"$LOCAL\" \"$REMOTE\" //t 
    keepbackup = false 
    trustexistcode = true 
[merge] 
    tool = vsdiffmerge 
[mergetool] 
    prompt = true 
[mergetool "vsdiffmerge"] 
    cmd = \"C:\\Program Files (x86)\\Microsoft Visual Studio 11.0\\Common7\\IDE\\vsdiffmerge.exe\" \"$REMOTE\" \"$LOCAL\" \"$BASE\" \"$MERGED\" //m 
    keepbackup = false 
    trustexistcode = true 
相關問題