git
  • visual-studio
  • merge
  • git-merge
  • rebase
  • 2015-06-15 50 views 3 likes 
    3

    我正在使用master分支在我當前分支MyUseCaseTest中執行rebase。git can not resolve rebase conflict as mergetool does not pop up

    我得到合併衝突,我嘗試使用我配置的vstoiff的合併工具進行衝突。這裏是的.gitconfig文件

    [diff] 
        tool = vsdiffmerge 
    [difftool] 
         prompt = false 
    [difftool "vsdiffmerge"] 
         cmd = '"%VSINSTALLDIR%Common7/IDE/vsdiffmerge.exe"' "$LOCAL" "$REMOTE" //t 
         keepbackup = false 
         trustexitcode = true 
    [merge] 
         tool = vsdiffmerge 
    [mergetool] 
         prompt = false 
    [mergetool "vsdiffmerge"] 
         cmd = '"%VSINSTALLDIR%Common7/IDE/vsdiffmerge.exe"' "$REMOTE" "$LOCAL" "$BASE" "$MERGED" //m 
         keepbackup = false 
         trustexitcode = true 
    

    這裏是我試圖讓vsdiffmerge工具,彈出命令,

    git mergetool 
    git mergetool -t vsdiffmerge 
    

    ,但他們不和給這個錯誤,而不是

    $ git mergetool -t vsdiffmerge 
    Merging: 
    src/OneDirection.cs 
    src/CustomBatch.cs 
    
    Normal merge conflict for 'src/OneDirection.cs': 
    {local}: modified file 
    {remote}: modified file 
    /libexec/git-core/git-mergetool--lib: line 136: fg: no job control 
    merge of src/OneDirection.cs failed 
    Continue merging other unresolved paths (y/n) ? 
    

    我點擊是,並得到相同的錯誤,但對於其他文件。我不知道什麼是錯的,以及如何解決它。手冊沒有解釋這種情況。我無法找到任何解釋正在發生的事情或解決方法。

    請幫忙。

    +0

    請記住,rebase會依次應用多個提交,因此如果每個後續提交正在生成/再現衝突,則可能會重複地看到相同的衝突或相同的文件衝突。如果有一個可管理的提交數量,你可能可以通過它們合併你的方式。 (這可能不是你的問題,但我描述的情況發生在我身上。) – lostphilosopher

    +0

    我認爲這也可能是我的mergetool問題,但我無法確定。有沒有辦法配置兩個不同的合併工具? – user20358

    +0

    嘗試使用像C:/ Program Files(x86)/ Microsoft Visual Studio 14.0/Common7/IDE/vsdiffmerge.exe這樣的完整路徑。完整路徑爲我工作。 – orad

    回答

    -2

    一旦發生衝突,您可以簡單地打開該文件並搜索HEAD以查看衝突的位置並手動解決。

    0

    我遇到了類似的問題,orad的回答指出我的方向是正確的 - 路徑是問題(我仍然不習慣linux風格的路徑......),結果爲我工作的是這個:

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

    儘管能夠使用%VSINSTALLDIR%避免絕對文件路徑真的很不錯。感謝Mark Kadlec顯示正確的語法。

    相關問題