Git, rewrite the history

A presentation at DevOps D-Day 2022 in December 2022 in Marseille, France by Antoine Ceol

Slide 1

Slide 1

1 © ZENIKA 2020 All rights reserved - Proprietary & confidential Git, rewrite the history Antoine Ceol

Slide 2

Slide 2

Git Back to the future… Antoine Ceol boombaprealm aceol

Slide 3

Slide 3

© ZENIKA 2022 All rights reserved - Proprietary & confidential La démo 3

Slide 4

Slide 4

⚠ Pas d’amend/rebase interactif sur des branches partagées Sinon on prends ses précautions: git push -–force-with-lease Parfois plus sage de revert git revert SHA-1 © ZENIKA 2022 All rights reserved - Proprietary & confidential On risque quoi? 4

Slide 5

Slide 5

© ZENIKA 2022 All rights reserved - Proprietary & confidential Un exemple 5

Slide 6

Slide 6

© ZENIKA 2022 All rights reserved - Proprietary & confidential

Slide 7

Slide 7

© ZENIKA 2022 All rights reserved - Proprietary & confidential

Slide 8

Slide 8

© ZENIKA 2022 All rights reserved - Proprietary & confidential

Slide 9

Slide 9

Ne plus hésiter avant de commiter Commiter plus souvent Faciliter les revues de code Trouver un bug plus facilement Rendre le monde (vaguement) meilleur l’open source (ou pas) © ZENIKA 2022 All rights reserved - Proprietary & confidential Les avantages 9

Slide 10

Slide 10

Ne plus hésiter avant de commiter Commiter plus souvent Faciliter les revues de code Trouver un bug plus facilement Rendre le monde (vaguement) meilleur l’open source (ou pas) © ZENIKA 2022 All rights reserved - Proprietary & confidential Les avantages 10

Slide 11

Slide 11

git config —global rerere.enabled true commit —fixup SHA-1 rebase —autostash rebase —autosquash rebase —exec © ZENIKA 2022 All rights reserved - Proprietary & confidential A retenir 11

Slide 12

Slide 12

🃏 Le reflog 󰙀😈 amend rebase interactif © ZENIKA 2022 All rights reserved - Proprietary & confidential A retenir 12

Slide 13

Slide 13

MERCI Antoine Ceol boombaprealm aceol © ZENIKA 2022 All rights reserved - Proprietary & confidential 13

Slide 14

Slide 14

New base Will be replaced by new base last commit rebase © ZENIKA 2022 All rights reserved - Proprietary & confidential Rebase -onto 14

Slide 15

Slide 15

Git (re)write your history