Upgrade to Pro — share decks privately, control downloads, hide ads and more …

T'es plutôt git merge ou git rebase

Sponsored · Your Podcast. Everywhere. Effortlessly. Share. Educate. Inspire. Entertain. You do you. We'll handle the rest.

T'es plutôt git merge ou git rebase

Git et rebase sont-ils équivalents ? Dans quels cas utiliser l'un ou l'autre ? Nous verrons que chacun a son utilité dans la gestion de branches et l'amélioration de l'historique.

Avatar for Jean Detoeuf

Jean Detoeuf

April 20, 2018
Tweet

Other Decks in Programming

Transcript

  1. #DevoxxFR Quand faire un merge-commit ? • Sur les branches

    durables • Pour indiquer un fait marquant : • Release, Sprint • Mise en production 10
  2. #DevoxxFR Quand faire un rebase ? • Sur acceptation d'une

    pull request de feature, suivi d'un merge fast-forward • Lors d'un git pull 15 git config --global branch.autoSetupRebase always git config --global pull.rebase = preserve
  3. #DevoxxFR Eviter les conflits • Utiliser des retours à la

    ligne • Eviter de travailler sur les mêmes fichiers • Structurer correctement l'application en séparant les fonctionnalités dans des fichiers différents • Se répartir le travail intelligemment dans l'équipe • Commiter régulièrement • Faire des branches qui ne durent pas longtemps 17
  4. #DevoxxFR Rebase/merge • Reuse Recorded Resolution pour éviter les corrections

    identiques 18 git config --global rerere.enabled true
  5. #DevoxxFR Réécrire l'histoire - rebase intéractif pick f7f3f6d changed my

    name a bit pick 310154e updated README formatting and added blame pick a5f4a0d added cat-file # Rebase 710f0f8..a5f4a0d onto 710f0f8 # # Commands: # p, pick = use commit # r, reword = use commit, but edit the commit message # e, edit = use commit, but stop for amending # s, squash = use commit, but meld into previous commit # f, fixup = like "squash", but discard this commit's log message # x, exec = run command (the rest of the line) using shell # # These lines can be re-ordered; they are executed from top to bottom. # # If you remove a line here THAT COMMIT WILL BE LOST. # # However, if you remove everything, the rebase will be aborted. # # Note that empty commits are commented out 19
  6. #DevoxxFR 25 La branche est-elle terminée ? Intégrer une branche

    durable ? git merge --no-ff Intégrer les changements d'une branche durable ? L'historique a été revue ? non oui git merge Est-ce une branche durable ? oui non git pull --rebase=preserve git add git commit non oui non non oui git rebase -i oui