Comment résoudre un conflit avec git-svn?
Question
Quel est le meilleur moyen de résoudre un conflit lorsque vous effectuez une opération git svn rebase
, et que la branche git sur laquelle vous vous trouvez devient "(sans branche)"?
La solution
Vous pouvez utiliser git mergetool
pour afficher et modifier les conflits de la manière habituelle. Une fois que vous êtes sûr que les conflits sont résolus, faites git rebase --continue
pour continuer la rebase, ou si vous ne souhaitez pas inclure cette révision, faites git rebase --skip
.
Autres conseils
Tout en effectuant une git svn rebase
, si vous avez des conflits de fusion, tenez compte des points suivants:
1) En cas de problème lors de la création d'une base, vous vous retrouverez sur une branche (sans branche)
.
2) Si vous exécutez git status
, vous verrez un fichier .dotest
dans votre répertoire de travail. C’est prudent d’ignorer.
3) Si vous souhaitez abandonner la base, utilisez la commande suivante: 1
git rebase --abort
4) Si vous avez un conflit de fusion:
- Éditez manuellement les fichiers pour résoudre les conflits
- Mettez en scène les modifications avec
git add [fichier]
- Continuez la rebase avec
git rebase --continue
2- Si git demande: "avez-vous oublié d'appeler
git add
?", les modifications apportées ont transformé le conflit en changement non-op 3 . Continuer avecgit rebase --skip
- Si git demande: "avez-vous oublié d'appeler
Vous devrez peut-être répéter ce processus jusqu'à ce que la base soit terminée. Vous pouvez à tout moment git rebit --abort
annuler et abandonner la rebase.
1: Il n'y a pas d'option - annuler
pour git svn rebase
.
2: Il n'y a pas d'option - continue
pour git svn rebase
.
3: C'est très étrange, mais les fichiers sont dans un état où git pense qu'ils sont identiques après ce patch. La solution consiste à "ignorer". ce correctif sur la base.