54 votes

Comment résoudre un conflit avec git-svn?

Quelle est la meilleure manière de résoudre un conflit au moment de faire un "git svn rebase", et la branche git vous êtes sur le devient "(pas de branche)"?

90voto

csexton Points 8089

Après quelques recherches sur google j'ai trouvé une bonne réponse sur Larry's blog (Merci Larry):

Tout en faisant un "git svn rebase", si vous avez des conflits de fusion, voici quelques choses à retenir:

  • En faisant cela, si quelque chose de mauvais arrive, vous vous retrouvez sur un "(pas de branche)" de la branche.
  • Lorsque l'on fait un "git status", vous verrez un ".dotest" fichier dans votre répertoire de travail. Juste l'ignorer.
  • Si vous voulez caution, faire un "git rebase --abort". (Remarque il n'y a pas de "git svn rebase --abort".)
  • Résoudre le conflit de fusion de fichier manuellement, puis faire un "git add [fichier]".
  • Ensuite faire un "git rebase --continue". (Remarque il n'y a pas de "svn" la version de ce soit.)
  • Si elle se plaint de "vous avez oublié d'appeler "git add"?", alors évidemment édition transformé le conflit en un no-op changement. Faire un "git rebase --skip" pour passer. (Très bizarre, mais vrai).
  • Rincez et répétez jusqu'à ce que la mousse a disparu, votre cuir chevelu soyeuse, et le rebase est terminée. Vous pouvez à tout moment "git rebase --abort" la libération sous caution.

27voto

1800 INFORMATION Points 55907

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 n' git rebase --continue pour continuer le rebase, ou si vous ne souhaitez pas inclure cette révision n' git rebase --skip

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X