Analogue's Blog

home

svn revert sous git

20 Jun 2008

svn revert sous git

Si tu viens de SVN et qu'on t'a imposé GIT (sans doute pour de bonnes raisons), tu vas te retrouver pommé, comme si on t'avait greffé des pieds à la place des mains.

Par exemple, pour annuler les modifications non commitées d'un fichier, ce que tu faisais facilement avec svn revert n'est plus évident avec GIT, du moins la doc n'est pas claire, car j'ai cherché pas mal de temps.

La solution:
  • Pour un fichier seul: svn revert path/to/file équivaut à git checkout path/to/file
  • Pour une working copy entière: git reset --hard
Et attention au git revert qui annule votre dernier commit ! J'me suis fait avoir comme un goret =(

Comments

Anonymous
Comme j'aimerais qu'on m'impose Git... je suis obligé d'utiliser Visual Source Safe :/
Jean-Baptiste Quenot
On peut aussi mentionner "git stash" qui peut être utilisé une fois que tous les autres fichiers ont été committés (un commit ça ne mange pas de pain dans git, on peut toujours le modifier).

En ce qui concerne le "git revert", il applique simplement le patch inverse du commit spécifié, et enregistre un nouveau commit. Pour annuler cette opération, il suffit de faire "git reset --hard HEAD~1" c'est à dire supprimer le dernier commit de la branche courante. A utiliser avec précaution!