J'ai créé une dialog
branche et quand j'essaye de la fusionner en master
branche. Il y a 2 conflits. Je ne sais pas comment résoudre CONFLICT (delete/modify)
. Pouvez-vous 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ésolu le conflit et fait un git add src/DialogAdapter.java
. Que dois-je faire d'autre?
git
git-merge
merge-conflict-resolution
BuZZ-dEE
la source
la source
Réponses:
Le message de conflit:
signifie qu'il a
res/layout/dialog_item.xml
été supprimé dans la branche «boîte de dialogue» que vous fusionnez, mais a été modifié dans HEAD (dans la branche vers laquelle vous fusionnez).Vous devez donc 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 un commit de fusion, dans le cas (rare) où c'est quelque chose que vous ne voulez pas. Reste probablement du temps où ledit cas était moins rare.
la source
git rm …
J'ai essayé l'ancien ( ) mais je comprends…: needs merge
etrm '…'
j'ai du mal à interpréter. Et puis si j'essaie de valider, stackoverflow.com/questions/19985906/… revient.git ls-files --stage
et / ougit status --porcelain
et / ougit diff-files <something>
pour obtenir la liste des fichiers modifiés et piloter un script pour les supprimer ou accepter votre ou leur version.git status
ougit diff --cc
. Il y a aussigit log --merge
ce qui peut aider ...Normalement, je viens de 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 car il s'agit d'une seule commande au lieu de plusieurs par fichier.Si vous avez un tas de fichiers supprimés dans un sous-répertoire spécifique et que vous souhaitez tous les résoudre en supprimant les fichiers, vous pouvez procéder comme suit:
Le
d
est fourni pour choisir de supprimer chaque fichier. Vous pouvez également utiliserm
pour conserver le fichier modifié. Tiré de l'invite que vous voyez lorsque vous exécutezmergetool
:la source
Si vous utilisez Git Gui sur Windows,
la source