Après avoir travaillé pendant plusieurs semaines avec une demi-douzaine de branches et de fusions différentes, à la fois sur mon ordinateur portable et mon bureau et à la maison, mon histoire est un peu compliquée. Par exemple, je viens de faire une recherche, puis fusionné maître avec origine/maître. Maintenant, quand je fais show-branches git, la sortie ressemble à ceci:comment utiliser git rebase pour nettoyer un historique alambiqué
! [login] Changed domain name. ! [master] Merge remote branch 'origin/master' ! [migrate-1.9] Migrating to 1.9.1 on Heroku ! [rebase-master] Merge remote branch 'origin/master' ---- - - [master] Merge remote branch 'origin/master' + + [master^2] A bit of re-arranging and cleanup. - - [master^2^] Merge branch 'rpx-login' + + [master^2^^2] Commented out some debug logging. + + [master^2^^2^] Monkey-patched Rack::Request#ip + + [master^2^^2~2] dump each request to log ....
Je voudrais nettoyer ce avec un rebasage git. J'ai créé une nouvelle branche, rebase-master, à cet effet, et sur cette branche essayé git rebase < commun-ancêtre >. Cependant, je dois résoudre de nombreux conflits, et le résultat final sur la branche rebase-master ne correspond plus à la version correspondante sur master, qui a déjà été testée et fonctionne!
Je pensais avoir trouvé une solution à ce problème mais je ne le trouve plus. Est-ce que quelqu'un sait comment faire ça? Ou ces noms alambiqués vont disparaître quand je commence à supprimer des branches inutiles avec lesquelles j'ai déjà fusionné? Je suis le seul développeur de ce projet, donc personne d'autre ne sera affecté.
;-) Note philosophique: L'histoire devient compliquée. C'est un fait de la vie. Passer à autre chose. –