Voici comment ça rebasemarche:
git checkout <my branch>
git rebase master
git checkout master
git merge <my branch>
Supposons que vous ayez
---o----o----o----o master
\---A----B <my branch>
Les deux premières commandes ... commit git checkout git rebase master
... consultez la branche des modifications que vous souhaitez appliquer à la masterbranche. La rebasecommande prend les validations de <my branch>(qui ne se trouvent pas dans master) et les réapplique au chef de master. En d'autres termes, le parent du premier commit dans <my branch>n'est plus un commit précédent dans l' masterhistorique, mais le responsable actuel de master. Les deux commandes sont les mêmes que:
git rebase master <my branch>
Il pourrait être plus facile de se souvenir de cette commande car les branches "base" et "modify" sont explicites.
. Le résultat final de l'historique est:
---o----o----o----o master
\----A'----B' <my branch>
Les deux dernières commandes ...
git checkout master
git merge <my branch>
... effectuez une fusion rapide pour appliquer toutes les <my branch>modifications master. Sans cette étape, la validation de rebase n'est pas ajoutée à master. Le résultat final est:
---o----o----o----o----A'----B' master, <my branch>
masteret les <my branch>deux références B'. De plus, à partir de ce moment, il est possible de supprimer la <my branch>référence.
git branch -d <my branch>
--cachedlors de la vérificationgit diff. lien