Skip to main content
  1. Learn
  2. Software Development
  3. Guides
  4. Git tutorial
  5. Comment utiliser Git
  6. Comment utiliser les branches dans Git
  7. Rebaser une branche
GuidesSoftware DevelopmentBacklog
Git

Project and code management together.

Rebaser une branche

Une autre approche pour intégrer la branche issue3 dans la branche principale consiste à recourir à la commande git rebase. Le rebasage nous permet de nettoyer l'arborescence de notre historique, comme nous l'avons vu plus haut dans ce guide.

Commençons par annuler la fusion précédente.

$ git reset --hard HEAD~

Notre historique se présente à présent comme suit :

History before rebase

Basculez ensuite vers la branche issue3 et effectuez un rebasage sur la branche principale.

$ git checkout issue3
Switched to branch 'issue3'
$ git rebase main
Auto-merging sample.txt
CONFLICT (content): Merge conflict in sample.txt
error: could not apply 470d684... My Commit
hint: Resolve all conflicts manually, mark them as resolved with
hint: "git add/rm <conflicted_files>", then run "git rebase --continue".
hint: You can instead skip this commit: run "git rebase --skip".
hint: To abort and get back to the state before "git rebase", run "git rebase --abort".
Could not apply 470d684... My Commit

Lorsque le conflit survient lors du rebasage, vous devez le résoudre pour reprendre l'opération.

Anyone can learn Git with this tutorial and Backlog
add: Register a change in an index
<<<<<<< HEAD
commit: Save the status of an index
=======
pull: Obtain the content of a remote repository
>>>>>>> issue3

Après la résolution du conflit, vous pouvez reprendre le rebasage avec l'option --continue.

Avant d'appliquer vos modifications, Git ouvre votre éditeur de texte par défaut (Vim ou Emacs sur la plupart des systèmes Unix) pour vous donner la possibilité de modifier le message de rebasage. Si vous souhaitez quitter et annuler l'opération de rebasage, vous pouvez le faire avec l'option --abort.

$ git add myfile.txt
$ git rebase --continue
Applying: append description of the pull command

Notre historique se présente maintenant comme suit:

Current history

La branche issue3 ayant été rebasée sur la branche main, nous pouvons à présent lancer une fusion à avance rapide.

Basculez vers la branche principale et fusionnez issue3 avec main

$ git checkout main
Switched to branch 'main'
$ git merge issue3
Updating 8f7aa27..96a0ff0
Fast-forward
myfile.txt |    1 +
  1 files changed, 1 insertions(+), 0 deletions(-)

Le contenu du fichier myfile.txt est désormais identique à celui de la fusion précédente. Et l'historique se présente désormais comme suit

Current history

Subscribe to our newsletter

Learn with Nulab to bring your best ideas to life