J'ai créé une branche dialog
et lorsque j'essaie de la fusionner avec la branche master
. Il y a 2 conflits. Je ne sais pas comment résoudre CONFLICT (delete/modify)
. Pouvez-vous s'il vous plaît me dire quoi faire?
$ git checkout master
$ git merge dialog
CONFLICT (delete/modify): res/layout/dialog_item.xml deleted in dialog and modified in HEAD. Version HEAD of res/layout/dialog_item.xml left in tree.
Auto-merging src/com/DialogAdapter.Java
CONFLICT (content): Merge conflict in src/DialogAdapter.Java
Automatic merge failed; fix conflicts and then commit the result.
J'ai ouvert src/DialogAdapter.Java
, réglé le conflit et fait un git add src/DialogAdapter.Java
. Que dois-je faire d'autre?
Le message de conflit:
CONFLICT (supprimer/modifier): res/layout/dialog_item.xml supprimé dans la boîte de dialogue et modifié dans HEAD
signifie que res/layout/dialog_item.xml
a été supprimé dans la branche de la boîte de dialogue que vous fusionnez, mais a été modifié dans HEAD (dans la branche avec laquelle vous effectuez la fusion).
Donc vous devez décider si
git rm res/layout/dialog_item.xml
"ou
git add res/layout/dialog_item.xml
"Ensuite, vous finalisez la fusion avec "git commit
".
Notez que git vous avertira que vous créez une validation de fusion, dans le cas (rare) où il s'agit de quelque chose que vous ne voulez pas. Reste probablement de l'époque où ledit cas était moins rare.
Normalement, je ne fais que lancer git mergetool
et il me demandera si je souhaite conserver le fichier modifié ou le supprimer. C'est le moyen le plus rapide à mon humble avis puisqu'il s'agit d'une commande au lieu de plusieurs par fichier.
Si vous avez plusieurs fichiers supprimés dans un sous-répertoire spécifique et que vous souhaitez qu'ils soient tous résolus en supprimant les fichiers, procédez comme suit:
yes d | git mergetool -- the/subdirectory
La d
permet de supprimer chaque fichier. Vous pouvez également utiliser m
pour conserver le fichier modifié. Extrait de l'invite que vous voyez lorsque vous exécutez mergetool
:
Use (m)odified or (d)eleted file, or (a)bort?
Si vous utilisez Git Gui sous Windows,