Voici comment ça rebase
marche:
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 master
branche. La rebase
commande 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' master
historique, 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>
master
et 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>
--cached
lors de la vérificationgit diff
. lien