Comment de manière interactive (visuellement) à résoudre les conflits qui SourceTree / git
Que j'utilise (Windows) SourceTree pour mon projet git. Je peux le faire dans l'invite de commande ou un terminal Linux.
Mais, je me demande s'il n'y est une belle manière de manière interactive et visuelle de résoudre les conflits. Par exemple, si le pull détecte les conflits, éclater une interface graphique basée sur le conflit de l'outil (par exemple, P4Merge). Est-il possible?
Je suis toujours en train de faire manuel sur la résolution de conflits, ce qui est tout simplement pénible.
C'est, par exemple, un git pull
message, de SourceTree.
git -c diff.mnemonicprefix=false -c core.quotepath=false pull --no-commit origin master
From W:\repo\
* branch master -> FETCH_HEAD
Updating 33c07bf..41e0249
error: Your local changes to the following files would be overwritten by merge:
foo.cpp
goo.cpp
goo.hpp
Please, commit your changes or stash them before you can merge.
Aborting
Completed with errors, see above.
Vous devez vous connecter pour publier un commentaire.
De SourceTree, cliquez sur Outils->Options. Puis sur l'onglet "Général", assurez-vous que la case à cocher pour permettre SourceTree de modifier votre Git config fichiers.
Puis de passer à la "Diff" de l'onglet. Sur la moitié inférieure, utilisez la liste déroulante pour sélectionner le programme externe que vous souhaitez utiliser pour faire la diff et la fusion. J'ai installé KDiff3 et comme il assez bien. Lorsque vous avez terminé, cliquez sur OK.
Maintenant, quand il y a une fusion, vous pouvez aller sous Actions->Résoudre les Conflits->Lancer Externe de l'Outil de Fusion.
Je suis en utilisant SourceTree avec TortoiseMerge/Diff, ce qui est très facile et pratique diff/merge tool.
Si vous souhaitez l'utiliser en tant que bien, alors:
Obtenir la version autonome de TortoiseMerge/Diff (assez ancien, puisqu'il n'a pas de navire autonome depuis la version 1.6.7 de TortosieSVN, qui est depuis juillet 2011). Les liens et les détails dans cette réponse.
Décompresser
TortoiseIDiff.exe
etTortoiseMerge.exe
à n'importe quel dossier (c:\Program Files (x86)\Atlassian\SourceTree\extras\
dans mon cas).Dans SourceTree ouvrir
Tools > Options > Diff > External Diff /Merge
. SélectionnezTortoiseMerge
dans les deux listes déroulantes.Frappé
OK
et point SourceTree à votre emplacement deTortoiseIDiff.exe
etTortoiseMerge.exe
.Après cela, vous pouvez sélectionner
Resolve Conflicts > Launch External Merge Tool
à partir du menu contextuel sur chaque fichier en conflit dans votre dépôt local. Cela permettra d'ouvrir TortoiseMerge, où vous pouvez facilement régler tous les conflits, vous avez. Une fois terminé, il suffit de fermer TortoiseMerge (vous n'avez même pas besoin d'enregistrer les modifications, ce sera probablement fait automatiquement) et, après quelques secondes SourceTree doit traiter que normalement.Le seul problème, c'est qu'il crée automatiquement une copie de sauvegarde, même si la bonne option n'est pas cochée.
Lors de la résolution des Conflits->Contenu du Menu sont désactivées, on peut être sur l'Attente de la liste des fichiers. Nous avons besoin de sélectionner les fichiers en Conflit option dans le menu déroulant (en haut)
espère que cela aide