Avec Git rebase, vos arbres poussent droit
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
Fri 16 September 2011Le 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.
#git, #tips - Posted in the Dev category
© Copyright 2020 by Mathieu Leplatre. mnmlist Theme
Content licensed under the Creative Commons attribution-noncommercial-sharealike License.
Recommend
About Joyk
Aggregate valuable and interesting links.
Joyk means Joy of geeK