Comments on: git revert pour annuler proprement le dernier commit http://sametmax.com/git-revert-pour-annuler-proprement-le-dernier-commit/ Du code, du cul Mon, 28 Oct 2019 11:54:55 +0000 hourly 1 https://wordpress.org/?v=4.9.7 By: Jean-Marc http://sametmax.com/git-revert-pour-annuler-proprement-le-dernier-commit/#comment-178847 Wed, 15 Jun 2016 08:19:03 +0000 http://sametmax.com/?p=2694#comment-178847 Hum, hum. Merci pour l’article mais j’ai peur qu’il y ait une incompréhension car je viens de me faire avoir. D’après la doc :

git revert HEAD~1 -> annule le commit à la position HEAD – 1. Soit C2 dans l’exemple (et non pas C3 comme indiqué dans l’article).

Pour annuler C3 il faudrait faire un git revert HEAD ou encore plus sûr : git revert #C3 (#C3 étant le n°du commit).

Je pense qu’une correction de l’article s’impose pour éviter que comme moi des gens tombe dans le panneau.

]]>
By: Vash http://sametmax.com/git-revert-pour-annuler-proprement-le-dernier-commit/#comment-3224 Fri, 16 Nov 2012 08:07:00 +0000 http://sametmax.com/?p=2694#comment-3224 @Sam : Pour te dire, je ne savais pas qu’on pouvait changer le diff editor. Je trouve la ligne de commande plus pratique dans ma facon d’utiliser git. Mais la n’est pas la question. Personellemet j’ai très peu configurer git. Les commandes de bases (à par des raccourcies) me suffisent.

Je n’ai pas l’impression d’avoir joué à qui balance la commande la plus longue. Je mettais, un peu brutalement je l’avoue, des pointeurs sur des particularités de git liés au sujet. Perso, j’aime bien avoir des pointeurs sur des sujets liés à l’article de base.

]]>
By: Sam http://sametmax.com/git-revert-pour-annuler-proprement-le-dernier-commit/#comment-3201 Thu, 15 Nov 2012 17:28:52 +0000 http://sametmax.com/?p=2694#comment-3201 @Vash: je suis d’accord avec toi pour le côté décentralisé mais:

1 – 99 % utilisent un repo central
2 – ces mêmes gens auraient de problèmes avec un amend qu’il auraient pushé sur ce repo central.

Pour des personnes qui comprennent cette subtilité, l’article est de toute façon inutile, donc je saute cette précision.

Et pour le “de toute pièce”, je veux dire qu’il faut faire les modification à la main soi-même. Cette commande diff peut faire l’affaire, mais seulement à condition que ton diff editor n’ai pas été changé, ce qui est le cas pour les débutant qui utilisent un truc graphique comme meld.

Je vise les gens qui se prennent la tête avec Git, il faut donc penser à ce genre de choses. Trop d’explications sur Git balance les commandes pour faire le malin “regarde on peut faire ça et ça et ça”. Les gens en ont rien à foutre, ils veulent juste que ça marchent.

Avec git, il faut trouver un équilibre subtile entre le clé en main et l’explication, car sans comprendre, on finit par se gauffrer, mais si on explique tout, on perd le client.

@Rylhan: les deux créent un commit, mais si on utilise reset et qu’on a pushé avant, on va se payer plus de problèmes de conflits.

]]>
By: Fylhan http://sametmax.com/git-revert-pour-annuler-proprement-le-dernier-commit/#comment-3196 Thu, 15 Nov 2012 14:06:22 +0000 http://sametmax.com/?p=2694#comment-3196 Merci du tuyaux, je cherchais ça depuis longtemps !

Connais-tu la différence avec git reset --hard (comme expliqué dans un de mes articles SVN revert mais avec Git mis à jour pour l’occassion ;-)) ? Si je comprends bien avec “revert” on reste en local, alors qu’avec “reset” on créé un nouveau commit contenant une branche donnée, par exemple “origin/master”.

]]>
By: Vash http://sametmax.com/git-revert-pour-annuler-proprement-le-dernier-commit/#comment-3195 Thu, 15 Nov 2012 13:30:42 +0000 http://sametmax.com/?p=2694#comment-3195 Super commande, mais le amend ne sert pas reellement dans ces conditions. Il vaut mieux faire un `git rebase -i HEAD~nombre_de_commit’ pour changer l’histoire du depot (remetre dans l’ordre, supprimer ou modifier un commit et son message).

Petit detail : Git est decentralise, donc il ne veut pas imposer certains choix a ces utilisateurs. La notion de ‘avoir pushe’ n’a pas de sens dans le cas car tu veux pouvoir avoir plusieurs depots distants attaches a ton depot local.

Quand tu dis creer le C4 de toute piece, tu veux dire `git diff co_actuel co_precedent > patch && git apply patch’ ?

]]>