git : rollbacker facilement

2020-06-24

=> retour

git revert : compliquééééé...

Pendant longtemps je galérais toujours pour rollbacker des modifs sur un projet git. En effet git revert est vraiment pas intuitif, et en demandant autour de moi, au final peu de personnes pouvaient expliquer comment l'utiliser, et personne pour l'expliquer simplement.

D'après ce que j'ai compris, c'est simple pour 2 ou 3 commits à rollbacker, par contre quand yen a une vingtaine, faut compter le nombre exact pour bien se placer, etc... Si une personne sait l'expliquer simplement, je suis prenneur :)

git apply : siiiiiimple !

Et un jour, sur stackoverflow (j'ai perdu le lien, désolé), je suis tombé sur une réponse qui m'a changé la vie :)

Donc imaginons qu'on connait le commitID exact (avec git log) de la dernière bonne version (en gros, on veut retourner à cet endroit exact).

Et bien il suffit de faire :

git diff HEAD  | git apply

La première partie (git diff HEAD <dernierBonCommit>) va sortir sur stdout le diff complet entre votre HEAD actuel et du commit donné.

Le git apply va appliquer ce diff à votre copie locale, un peu comme la commande patch.

On se retrouve maintenant avec un repo local qui contient les modifications exactes pour revenir là où on voulait !

Il reste à faire un git add ... et un git commit avec un beau message comme "rollback de mes dernières bouses", et un git push pour finir :)

Il est bien sûr toujours possible d'annuler ce rollback grâce au commitID précédent... Ne pas oublier : git commit -m "rollback du rollback

Proxy Information
Original URL
gemini://thasmanie.fr/git-apply.gmi
Status Code
Success (20)
Meta
text/gemini;lang=fr
Capsule Response Time
247.573384 milliseconds
Gemini-to-HTML Time
0.352958 milliseconds

This content has been proxied by September (3851b).