Accueil / Blog / Métier / Archives / Avec Git rebase, vos arbres poussent droit

Avec Git rebase, vos arbres poussent droit

Par Mathieu Leplatre publié 16/09/2011, édité le 28/01/2016
Avec Git rebase, vos arbres poussent droit

Le problème

Par défaut, un git pull est équivalent à git fetch et git merge.

Les merge, c'est bien pour les branches, mais pour le tronc, c'est pénible : ça pollue l'historique et ça zig-zag sévère !

La solution

En réalité, quand on travaille sur le tronc, ce qu'on veut c'est faire git fetch et git rebase. C'est à dire, au lieu de ça :

      A-----B-----C master
     /             
D---E---F---G---H---I origin/master

on veut ça :

                  A---B---C master
                 /
D---E---F---G---H origin/master

Autrement dit, un git pull --rebase ! Pour le faire par défaut :

git config --global branch.autosetuprebase always

Et ensuite, au cas-où, pour le désactiver ponctuellement, utiliser git pull --no-rebase.

Maintenant, le tronc, il est tout propre !

Les conséquences ?

Lors d'un git pull, il faudra résoudre chaque commit conflictuel indépendamment (perso, je préfère).

Les êtres humains voudront utiliser meld. Il suffit de l'installer, et lors d'un conflit, de lancer git mergetool.

Une fois que tous les conflits sont résolus, terminer l'opération, avec git rebase --continue, et pousser vos prouesses à vos amis avec git push.

ABONNEZ-VOUS À LA NEWSLETTER !
Voir aussi
Git : annuler proprement un commit après un push Git : annuler proprement un commit après un push 03/11/2011

Formation GIT le 28 novembre à Toulouse et Nantes Formation GIT le 28 novembre à Toulouse et Nantes 26/09/2016

Un peu de théorie et beaucoup de pratique pour comprendre le modèle et l’architecture de GIT.

Les nouveautés de Git 2.9 Les nouveautés de Git 2.9 16/06/2016

Il y a trois jours paraissait la version 2.9.0 de Git. Survol rapide des nouveautés.

Nettoyer un dépôt Git Nettoyer un dépôt Git 17/03/2016

"Et je ne ferai pas ça tous les jours !"

Git : réconcilier HEAD détaché sur un commit avec une branche Git : réconcilier HEAD détaché sur un commit avec une branche 29/01/2016

Petite astuce #git bien utile, si vous avez perdu le fil.