79 votes

Comment puis-je utiliser 'git rebase -i' pour rebaser toutes les modifications dans une branche ?

Voici un exemple :

>git status
# On branch master
nothing to commit (working directory clean)
>git checkout -b test-branch
>vi test.c
>git add test.c
>git commit -m "modified test.c"
>vi README
>git add README
>git commit -m "modified README"

Maintenant, je veux faire un 'git rebase -i' qui me permettra de rebaser tous les commits pour cette branche. Y a-t-il quelque chose comme «git rebase -i HEAD~MASTER » ou similaire. Je pense que je pourrais faire 'git rebase -i HEAD~2', mais je ne veux vraiment pas avoir à compter combien d'engagements ont été faits. Je pourrais aussi faire 'git rebase -i sha1' mais je ne veux pas parcourir git log pour trouver le premier commit sha1. Des idées ?

67voto

Joost den Boer Points 1321

Le problème avec toutes les solutions fournies est qu'elles ne vous permettent pas de rebaser dès le premier commit. Si le premier hachage de validation est XYZ et que vous le faites :

git rebase -i XYZ

Vous ne rebasez qu'à partir du 2ème commit.

Si vous voulez rebaser à partir du premier commit vous faites :

git rebase -i --root

50voto

ididak Points 4208

Avez-vous essayé : git rebase -i master ?

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X