web-dev-qa-db-fra.com

Comment fusionnez-vous dans GIT sous Windows?

J'ai essayé d'utiliser GIT, mais pour moi le plus gros problème, c'est qu'il n'y a pas d'outil de fusion. Au moins, le msysgit ne me donne rien. Comment puis-je fusionner dans GIT? Existe-t-il d'excellents outils ou dois-je utiliser WinMerge ou une application de ce type?

J'utilise Java et Eclipse.

34
IAdapter

Je suggère kdiff3 . Installez-le et mettez quelque chose comme:

[merge]
        tool = kdiff3
[mergetool "kdiff3"]
        path = c:/Program Files (x86)/KDiff3/kdiff3.exe
[diff]
        tool = kdiff3
        guitool = kdiff3
[difftool "kdiff3"]
        path = c:/Program Files (x86)/KDiff3/kdiff3.exe

dans votre .gitconfig

Pour éditer la configuration globale (.gitconfig): git config --global --edit

Le chemin d'installation sur votre machine peut être différent de c:/Program Files (x86)/KDiff3/kdiff3.exe. Remplacez la chaîne ci-dessus par le chemin d'accès réel à votre binaire kdiff3. Et n’oubliez pas que vous devez utiliser les barres obliques forward, / et not\) comme les programmes natifs le font habituellement.

72
Jan Hudec

Pour moi (windows xp, kdiff3 0.9.96 et git 1.7.5.1), la réponse de Jan Hudec ne fonctionnait pas. Voici ma configuration:

[diff]
        tool = kdiff3
        guitool = kdiff3

[difftool]
        Prompt = false

[difftool "kdiff3"]
        path = /home/username/bin/difftool-kdiff3.sh

et

#!/bin/sh

# Passed the following parameters from git
#  --auto --L1 "somefile (A)" --L2 "somefile (B)" /tmp/4VhUw0_somefile somefile

LOCAL=$6
REMOTE=$7

"C:/Program Files/KDiff3/kdiff3.exe" $(cygpath -w "$LOCAL") "$REMOTE"
3
hlovdal

Puisque vous mentionnez que vous utilisez Eclipse, vous pouvez utiliser Les outils de fusion d’EGit , qui offrent un moyen pratique de gérer les conflits:

enter image description here

enter image description here

2
Franck Dernoncourt

Kdiff3 est un excellent outil de fusion que j'aime utiliser en combinaison avec git.

http://www.mainelydesign.com/blog/view/using-kdiff3-as-git-gui-merge-tool-on-windows-xp-windows-7

2
Ezra

Vous n'avez en fait pas besoin d'un autre outil spécifiquement pour la fusion, car tout fournisseur Git décent devrait pouvoir s'en occuper, même msysgit. Dans votre cas, lorsqu'une interface graphique telle que WinMerge est souhaitable, il existe EGit, le fournisseur d'équipe Git pour Eclipse, bien que sa fonction de fusion puisse être quelque peu instable, car le projet est encore relativement nouveau. Il y a aussi TortoiseGit que j'utilise pour la plupart des opérations git sous Windows, y compris la fusion.

0
prusswan