Il ressemble commettras 50b6dec
a été ajouté à la branche gh-pages
, et COMMIT e43c01f
a été faite sur master
en même temps, et c'est ce qui a causé le conflit de fusion. Pour cette raison, gh-pages
avait 1 commit que master
n'avait pas. Donc, chaque fois que vous avez fusionné après cela, Git n'était pas capable de faire une fusion rapide. (Le avance rapide se fond est ce que vous a donné l'histoire linéaire que vous aviez avant.) Ainsi, la solution est:
git checkout master
git merge gh-pages
Pour éviter que cela ne se reproduise à l'avenir, changer votre processus à ceci:
git checkout master
git commit -am "message"
git checkout gh-pages
git merge --ff-only master
L'indicateur --ff-only
annule la fusion avec une erreur si gh-pages
possède des validations que ne possède pas master
.
Si vous souhaitez réécrire l'historique pour que ce soit comme si cela ne s'était jamais produit, vous pouvez le faire aussi.
Tout d'abord, assurez-vous que vous êtes sur master
:
git checkout master
Maintenant rebase:
git rebase 50b6dec
Vous devrez résoudre à nouveau ce conflit. Lorsque vous avez terminé, faites:
git rebase --continue
Lorsque le rebasage est terminé, vous devrez forcer mise à jour origin
:
git push --force-with-lease origin master
Vous devez également déplacer la branche gh-pages
.Est-ce que:
git branch -f gh-pages master
git push --force-with-lease origin gh-pages
Cela vous donnera une histoire qui ressemble à ceci:
* f218f70' (HEAD -> master) Added Scatterplot functionality to check ratings
* cb79b79' Squashed bug
* fcf0d8a' Small change
* e43c01f' Small change
* 50b6dec Small change
* a217267 Small change
obligatoire avertissement: Depuis un rebasage réécrit l'histoire, cela peut être dangereux/perturbateur pour toute autre personne travaillant sur cette branche. Assurez-vous de communiquer clairement ce que vous avez fait avec toute personne avec qui vous collaborez.
Un grand merci @ScottWeldon pour une réponse géniale et approfondie - résoudre non seulement mon problème principal mais aussi mon problème non-dit en ce qui concerne une histoire propre ... – lve