historique Dans le scénario suivant:En git, l'édition d'un pré-pull engager après la traction provoque une divergence d'origine
- Marque engage A, B, C
- Pull, s'engage D, E
- Faire plus engage F, G, H, ...
- Rendez-vous compte que vous devez modifier B
- Tweak B à l'aide
git rebase -i
etgit commit --amend
Maintenant git status
dit:
Your branch and 'origin/master' have diverged.
Comment dois-je résoudre ce problème?
Remarque: je n'ai pas poussé; cela n'a rien à voir avec pousser.
Remarque: Le simple fait de tirer à nouveau ne résout pas le problème; il recompose juste les commits D, E en plus de ce que j'ai déjà (bien que le D, E soit déjà là dans l'histoire), ce qui a aussi l'effet secondaire de produire des conflits superflus.
Pour élaborer, une réponse ci-dessous suggère que l'histoire est maintenant:
- A - B' - C' - F' - G' - H' (master)
\
D - E (origin/master)
Ce n'est pas tout à fait raison - il est en fait:
- A - B' - C' - D(?) - E(?) - F' - G' - H' (master)
\
D - E (origin/master)
Par conséquent, mon problème. Je voudrais que ce soit:
- A - B' - C' - F' - G' - H' (master)
\ /
D - E (origin/master)
Vous avez dit dans votre commentaire à ma réponse que D et E étaient déjà dans l'histoire, mais ici vous laissez entendre qu'ils ne le sont pas. Mais dans votre autre commentaire, vous avez également laissé entendre que vous utilisiez 'pull --rebase', ce qui signifierait que votre pull ici ne fusionne pas réellement. Je suis heureux d'essayer de vous trouver une meilleure réponse, et je suis sûr qu'il y en a une - si cela a fonctionné, il semble que tout ce que vous avez à faire est de vérifier, re-tirer, rebaser. Mais j'ai besoin de savoir exactement à quoi l'histoire ressemble pour donner une bonne réponse, et je ne suis pas trop confiant pour le moment. – Cascabel
@Jefromi 'pull --rebase' n'est pas utilisé. D et E sont dans l'histoire, que j'ai anéanti avec la deuxième ligne. Je pense que ce que vous suggérez est une meilleure façon d'obtenir ce que j'ai fait ci-dessus, alors s'il vous plaît, éclairez-moi! – Yang