Peut TortoiseMerge être utilisé comme un difftool avec Windows Git Bash?
Je viens juste de commencer à travailler avec Git. Je voudrais utiliser TortoiseMerge comme le difftool et mergetool.
Dans mon .gtconfig dans mon répertoire utilisateur, j'ai les sections suivantes. J'ai supprimé l'utilisateur et de la couleur des sections de cette question.
[merge]
tool = tortoisemerge
[mergetool "tortoisemerge"]
cmd = \"TortoiseMerge.exe\" -base:\"$BASE\" -mine:\"$LOCAL\" -theirs:\"$REMOTE\" -merged:\"$MERGED\"
[diff]
tool = tortoisemerge
[difftool "tortoisemerge"]
cmd = \"TortoiseMerge.exe\" -base:\"$BASE\" -mine:\"$LOCAL\" -theirs:\"$REMOTE\" -merged:\"$MERGED\"
Si j'type tortoisemerge à Git Bash invite de chargement. Il est connu pour être sur le chemin. Mais si je tape la commande j'obtiens l'erreur suivante.
Rich:mygittest (master *)
$ git difftool
error: 'tortoisemerge' can only be used to resolve merges
merge tool candidates: kompare emerge vimdiff
No known merge resolution program available.
external diff died, stopping at readme.txt.
Rich:mygittest (master *)
$
Que suis-je en ne comprenant pas de faire ce travail?
Tortoisemerge est installé avec TortoiseSVN.
Vous devez vous connecter pour publier un commentaire.
Les paramètres suivants beau travail pour moi. Cependant, je suis en utilisant TortoiseGit pas TortoiseSVN. Notez la différence dans les paramètres de diff.
TortoiseSVN
qui aTortoiseMerge.exe
. Oui,diff
avecTortoiseMerge.exe
, pasTortoiseIDiff.exe
.git difftool
appelle TortoiseMerge GUI, très pratique!TortoiseMerge
est le meilleur!De sorte que les noms de fichiers avec des espaces sont gérés correctement, vous devez modifier la dernière ligne de @melbourne, en réponse à
Grande réponse par Klas Mellbourn! M'a sauvé beaucoup de temps.
Une lacune est, nouvellement
Added
ouRemoved
fichiers dans le référentiel n'apparaîtra au cours de la difftool exécution de la commande. Il n'y a rien à comparer à! Voici ce que j'ai fait sur le dessus de cela:(Inspiré par mon collègue réponse).
empty.empty
dans$Home
répertoire (exécuterstart ~
dans votre bash). Et comme le nom le suggère, la vider.tortoisediff.sh
dans$Home/bin
répertoire avec le contenu suivant:
Modifier votre .gitconfig fichier (Ligne 11 de la réponse)
cmd = tortoisediff.sh "$LOCAL" "$REMOTE"
Ce serait désormais faire difftool reportez-vous à tortoisediff.sh au lieu d'ouvrir l'application directement.
git add .
suivie pargit difftool --staged
au lieu de simplementgit difftool
.Cela a fonctionné pour moi, en utilisant TortoiseMerge 1.6.7 (Portable)
Lors de l'année de référence, je vous recommande fortement de l'interrupteur
$theirs
et$mine
, parce qu'il est différent lorsque vous fusionnez et rebase-fusion. Vérifiez ici:Quelle est la signification précise de "l'ours" et "leur" dans git?
Donc, si vous n'utilisez mergetool de rebase comme moi, n':