Mon cas d'utilisation est le suivant changer mes commits dans une branche de fonctionnalité avant de la publier, par exemple, reformuler les messages de commit, écraser certains commits, etc. Je ne veux pas déplacer les commits vers une nouvelle base.
Pour cela, je fais habituellement quelque chose comme ça :
git rebase -i HEAD~4
où le nombre "4" est le résultat du comptage manuel des commits dans ma branche de fonctionnalité.
Je me demandais si Git dispose d'une commande telle que "Lancer un rebasement interactif pour tous les commits de ma branche de fonctionnalité mais ne pas les déplacer vers une branche plus récente. master
- reste juste où tu es" . J'ai trouvé le --fork-point
option de git rebase
et j'ai essayé ça :
git rebase -i --fork-point master
Cependant, cela n'a pas d'effet notable et se comporte de la même manière que le programme git rebase -i master
.
Au lieu de cela, ceci fait ce dont j'ai besoin :
git rebase -i $(git merge-base --fork-point master)
J'ai lu les docs de --fork-point
en git rebase
mais je ne comprends pas bien pourquoi cela n'a pas abouti au résultat escompté. Quelqu'un peut-il m'expliquer ?