5

Avec Git rebase, vos arbres poussent droit

 3 years ago
source link: https://blog.mathieu-leplatre.info/avec-git-rebase-vos-arbres-poussent-droit-fr.html
Go to the source link to view the article. You can view the picture content, updated content and better typesetting reading experience. If the link is broken, please click the button below to view the snapshot at that time.
Avec Git rebase, vos arbres poussent droit

Avec Git rebase, vos arbres poussent droit

Fri 16 September 2011

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 !

git-merge-mess.png

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 !

git-merge-clean.png

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.

#git, #tips - Posted in the Dev category


© Copyright 2020 by Mathieu Leplatre. mnmlist Theme

Content licensed under the Creative Commons attribution-noncommercial-sharealike License.


About Joyk


Aggregate valuable and interesting links.
Joyk means Joy of geeK