2017-03-05 3 views
2

Nach KDiff3 Installation für Konflikte in git Verwaltung, noch den Standard ein für mich zu öffnen:git - set KDiff3 als Standard mergetool

enter image description here

Hier ist die Konfiguration, die in diesen answer erwähnt:

git config --global --add merge.tool kdiff3 
git config --global --add mergetool.kdiff3.path "C:/Program Files/KDiff3/kdiff3.exe" 
git config --global --add mergetool.kdiff3.trustExitCode false 

git config --global --add diff.guitool kdiff3 
git config --global --add difftool.kdiff3.path "C:/Program Files/KDiff3/kdiff3.exe" 
git config --global --add difftool.kdiff3.trustExitCode false 

HINWEIS: Ich kann KDiff3 einzeln mit einfachen Dateien ausführen, aber ich kann es nicht ausführen mein git-Projekt. Irgendeine Idee?

Edit: Hier ist meine .gitconfig:

[user] 
    email = [email protected] 
    name = vahid najafi 
[diff] 
    tool = kdiff3 
    guitool = kdiff3 
[merge] 
    tool = diffmerge 
    tool = kdiff3 
    tool = kdiff3 
[mergetool "diffmerge"] 
    trustExitCode = true 
[mergetool "kdiff3"] 
    path = C:/Program Files/KDiff3/kdiff3.exe 
    trustExitCode = false 
[difftool "kdiff3"] 
    path = C:/Program Files/KDiff3/kdiff3.exe 
    trustExitCode = false 

Antwort

2

Endlich habe ich eine andere Lösung! Ich habe meld anstelle von kdiff3 verwendet. Erster Download meld von here. Dann Config für meld in c: /Users/yourName/.gitconfig:

[user] 
    email = [email protected] 
    name = vahid najafi 
[diff] 
    tool = meld 
[difftool "meld"] 
    path = C:/Program Files (x86)/Meld/meld/meld.exe 
[difftool] 
    prompt = false 
[merge] 
    tool = meld 
[mergetool "meld"] 
    path = C:/Program Files (x86)/Meld/meld/meld.exe 
[mergetool] 
    keepBackup = false 

HINWEIS: Versuchen git zu verwenden cmd anstelle von Fenstern cmd. Wenn Sie einen Konflikt haben, führen Sie einfach: git mergetool. Weitere Einzelheiten und ein Beispiel finden Sie unter here.

1

Ich weiß nicht, kdiff3, aber Sie könnten die Dateien hinzufügen, müssen Sie wollen Ihr Werkzeug-Aufruf als Parameter vergleichen (Kommandozeilenoptionen sehen für KDiff3 Anruf here). In Ihrem globalen Config (über git config --global -e) sollten die entsprechenden Zeilen in etwa so aussehen:

[merge] 
    tool = kdiff3 
[mergetool "kdiff3"] 
    trustExitCode = false 
    cmd = 'C:/Program Files/KDiff3/kdiff3.exe' "$LOCAL" "$BASE" "$REMOTE" "$MERGED" 

Da ich das nicht versucht hat, mit KDiff3, könnten Sie die Reihenfolge der "$LOCAL" "$BASE" "$REMOTE" und "$MERGED" Variablen wechseln, aber this post sollte genügend zusätzliche Informationen dazu liefern. Obwohl es um das Meld-Tool geht, bin ich ziemlich sicher, dass die Handhabung analog ist, und es gibt einige ziemlich gute und informative Antworten.

EDIT: Angenommen, Sie verwenden Windows: Sie können es nur in Windows Explorer, in der Regel in c:\user\yourusername\.gitconfig, und öffnen Sie es mit einem Editor. In Linux, siehe this post. Dann ersetzen Sie alle merge, mergetool und difftool Abschnitte mit den folgenden:

[merge] 
    tool = kdiff3 
[mergetool "kdiff3"] 
    cmd = "C:/Program Files/KDiff3/kdiff3.exe" "$LOCAL" "$BASE" "$REMOTE" "$MERGED" 
    trustExitCode = false 
[difftool "kdiff3"] 
    cmd = "C:/Program Files/KDiff3/kdiff3.exe" "$LOCAL" "$BASE" "$REMOTE" "$MERGED" 
    trustExitCode = false 

Wenn ot nicht funktioniert, ist es möglich, dass Sie die Reihenfolge der "$LOCAL" "$BASE" "$REMOTE" und "$MERGED" Variablen ändern müssen oder einer von ihnen entfernen. Sie können ausreichende Informationen darüber in den oben angegebenen Links finden.

+0

Danke. Ich starte 'git config --global -e', aber dieser Teil existiert nicht:' "$ LOCAL" "$ BASE" "$ REMOTE" "$ MERGED" ' –

+0

Ja, das habe ich erwartet. Sie sollten es hinzufügen, um sicherzustellen, dass KDiff3 mit den richtigen Dateien aufgerufen wird. – kowsky

+0

Wie soll ich hinzufügen? Da bin ich ziemlich neu dazu. –

Verwandte Themen