383 Stimmen

Git unter Windows: Wie richtet man ein Mergetool ein?

Ich habe msysGit und Git unter Cygwin ausprobiert. Beide funktionieren an und für sich ganz gut und beide führen gitk und git-gui perfekt aus.

Wie zum Teufel konfiguriere ich nun ein Mergetool? (Vimdiff funktioniert unter Cygwin, aber ich hätte gerne etwas, das etwas benutzerfreundlicher ist für einige unserer Windows-liebenden Mitarbeiter).

11voto

developer747 Punkte 14020

Für darüber hinausgehende Vergleiche unter Windows 7

git config --global merge.tool bc3
git config --global mergetool.bc3.path "C:\Program Files (x86)\Beyond Compare 3\BCompare.exe"

6voto

vineel Punkte 3083

Ich habe zwei Möglichkeiten gefunden, um die " SourceGear DiffMerge " als difftool und mergetool in github Windows.

Die folgenden Befehle in einem Eingabeaufforderungsfenster aktualisieren Ihre .gitconfig, um GIT für die Verwendung von DiffMerge zu konfigurieren:

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

git config --global merge.tool diffmerge
git config --global mergetool.diffmerge.cmd  'C:/Program\ Files/SourceGear/Common/DiffMerge/sgdm.exe  -merge  -result=\"$MERGED\" \"$LOCAL\" \"$BASE\" \"$REMOTE\"'

[ OR ]

Fügen Sie die folgenden Zeilen in Ihre .gitconfig ein. Diese Datei sollte sich in Ihrem Heimatverzeichnis unter C:\Users\UserName :

[diff]
    tool = diffmerge
[difftool "diffmerge"]
    cmd = C:/Program\\ Files/SourceGear/Common/DiffMerge/sgdm.exe \"$LOCAL\" \"$REMOTE\"

[merge]
    tool = diffmerge
[mergetool "diffmerge"]
    trustExitCode = true
    cmd = C:/Program\\ Files/SourceGear/Common/DiffMerge/sgdm.exe -merge -result=\"$MERGED\" \"$LOCAL\" \"$BASE\" \"$REMOTE\"

6voto

friederbluemle Punkte 27915

Es scheint, dass neuere Git-Versionen p4merge direkt unterstützen, also

git config --global merge.tool p4merge

sollte alles sein, was Sie brauchen, wenn p4merge.exe in Ihrem Pfad liegt. Sie müssen weder cmd noch einen Pfad einrichten.

5voto

hlovdal Punkte 24350

Wie hier bereits beantwortet (und aquí y aquí ), mergetool ist der Befehl, um dies zu konfigurieren. Für ein nettes grafisches Frontend empfehle ich kdiff3 (GPL).

4voto

Mike Glenn Punkte 3039

Unter Windows 7 musste ich das zusätzliche Quoting bei msysGit weglassen, ich weiß nicht warum.

git config --global merge.tool p4merge
git config --global mergetool.p4merge.cmd 'p4merge $BASE $LOCAL $REMOTE $MERGED'

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X