Git Rebase
Dernière mise à jour
git rebase déplace les commits de votre branche pour qu'ils soient rejoués au-dessus d'une autre branche, produisant un historique droit et linéaire au lieu d'un commit de fusion. Le rebase interactif (-i) va plus loin en vous laissant fusionner, réordonner, modifier ou supprimer des commits. Comme le rebasing réécrit les commits, ne le faites que sur un travail que vous n'avez pas encore partagé.
Essayez ceci dans le terminal playground : un vrai shell dans votre navigateur, rien à installer.
Syntaxe
| Command | What it does |
|---|---|
git rebase main | Rejoue vos commits au-dessus de main |
git rebase -i HEAD~3 | Modifie interactivement les 3 derniers commits |
git rebase --onto main old new | Déplace une plage de commits sur main |
git rebase --continue | Reprend après résolution des conflits |
git rebase --abort | Annule le rebase et restaure la branche |
git pull --rebase | Fait un pull et un rebase au lieu d'un merge |
Mots-clés du rebase interactif
Dans l'éditeur qu'ouvre -i, remplacez pick par l'un de ceux-ci.
| Keyword | What it does |
|---|---|
pick | Conserve le commit |
reword | Conserve le commit, modifie son message |
squash | Fusionne dans le commit précédent, réunit les messages |
fixup | Fusionne mais abandonne ce message |
drop | Supprime entièrement le commit |
FAQ git rebase
Que fait git rebase ?
Qu'est-ce que le rebase interactif ?
git rebase -i <base> ouvre un éditeur listant les commits depuis <base>, où vous pouvez les réordonner, en squash plusieurs en un seul, reword les messages, edit un commit ou le drop. C'est l'outil principal pour nettoyer une série de commits en désordre avant de les partager.Quelle est la règle d'or du rebasing ?
Comment corriger ou annuler un rebase avec des conflits ?
git add, puis exécutez git rebase --continue. Utilisez git rebase --skip pour abandonner le commit actuel, ou git rebase --abort pour tout annuler et remettre la branche dans l'état où elle était avant le début du rebase.Puis-je m'entraîner en ligne ?
git rebase dans un vrai shell dans votre navigateur, rien à installer. Le cours Git interactif et gratuit de Coddy couvre aussi le rebasing étape par étape.