Outils pour utilisateurs

Outils du site


developpement:git-rebase-pull-request

Git : rebase d'une branche depuis master

Scénario

Le but ici est de répondre à un scénario assez classique avec Git :

  1. Vous faites une Pull Request (PR) sur un projet.
  2. Le temps passe, ça discute, les commits filent sur le projet : la base de code sur laquelle s'appuie votre projet est obsolète.
  3. Il faut récupérer les commits qui sont passés, sans pourrir la pull request.

Et c'est cette dernière étape qui est expliquée ici.

Quelques données que vous devrez adapter à votre cas de figure :

  • Le projet principal est sur origin.
  • Mon fork est sur fork.
  • Ma branche est vieille-branche.

Procédure

Avant de commencer quoi que ce soit : vérifiez que tout est clean sur votre branche. C'est à dire que tous vos changements ont bien été commit, éventuellement push et que plus rien ne traine.

Un petit coup de fetch pour être sur:

git fetch origin

Et c'est parti !

git rebase origin/master

Là vous aurez peut être des CONFLICTS. Ce n'est pas bien grave, vous n'avez qu'à les corriger, les ajouter sans les commiter et continuer votre rebase :

git add .
git rebase --continue

Et on est tiré d'affaire. Il ne reste plus qu'à envoyer tout ça. Le rebase a fait un peu chambouler l'historique des commits, il faut donc forcer le push :

git push fork vieille-branche --force

Et voilà !

Ressource

developpement/git-rebase-pull-request.txt · Dernière modification: 2015/07/09 21:04 par Arthur Hoaro