J'utilise (Windows) SourceTree pour mon projet git. Je peux le faire dans l'invite de commande ou dans le terminal Linux.
Mais je me demande s'il existe une bonne façon de résoudre les conflits de manière interactive et visuelle. Par exemple, si pull détecte des conflits, affiche un outil de conflit basé sur l'interface graphique (par exemple, P4Merge). C'est possible?
Je fais toujours de la résolution manuelle des conflits, ce qui est juste douloureux.
Ceci est, par exemple, un pull
message git , 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.
J'utilise SourceTree avec TortoiseMerge / Diff, qui est un outil de diff / fusion très simple et pratique.
Si vous souhaitez également l'utiliser, alors:
Obtenez la version autonome de TortoiseMerge / Diff (assez ancienne, car elle n'est pas livrée autonome depuis la version 1.6.7 de TortosieSVN, c'est-à-dire depuis juillet 2011). Liens et détails dans cette réponse .
Décompressez
TortoiseIDiff.exe
etTortoiseMerge.exe
dans n'importe quel dossier (c:\Program Files (x86)\Atlassian\SourceTree\extras\
dans mon cas).Dans SourceTree, ouvrez
Tools > Options > Diff > External Diff / Merge
. SélectionnezTortoiseMerge
dans les deux listes déroulantes.Appuyez sur
OK
et pointez SourceTree vers votre emplacement deTortoiseIDiff.exe
etTortoiseMerge.exe
.Après cela, vous pouvez sélectionner
Resolve Conflicts > Launch External Merge Tool
dans le menu contextuel chaque fichier en conflit dans votre référentiel local. Cela ouvrira TortoiseMerge, où vous pourrez facilement gérer tous les conflits que vous avez. Une fois terminé, fermez simplement TortoiseMerge (vous n'avez même pas besoin d'enregistrer les modifications, cela se fera probablement automatiquement) et après quelques secondes, SourceTree devrait gérer cela avec élégance.Le seul problème est qu'il crée automatiquement une copie de sauvegarde, même si l'option appropriée n'est pas cochée .
la source
Lorsque le menu Résoudre les conflits -> Contenu est désactivé, il se peut qu'il y en ait un dans la liste des fichiers en attente. Nous devons sélectionner l'option Fichiers en conflit dans la liste déroulante (en haut)
J'espère que ça aide
la source