Annuler git mv (renommer)

Quelle est la bonne façon de défaire un renommage en git, comme:

git mv file1 file2 

Réponse non effrontée:

 git mv file2 file1 

Si vous n’avez fait aucun autre changement (que vous souhaitez conserver) depuis le dernier commit, vous pouvez le faire

 git reset --hard 

Cela dépend de ce que vous voulez accomplir. Si vous souhaitez qu’il apparaisse comme si le fichier n’a jamais été déplacé, vous pouvez le réinitialiser (ou le réinitialiser) avant le déplacement. Si vous ne vous souciez pas de l’histoire, déplacez-la simplement.

Dans mon cas, j’ai déplacé un dossier entier, puis réalisé que je ne devrais pas avoir.

J’ai vraiment aimé la réponse de @Dave Konopka, mais je n’ai pas eu beaucoup de succès avec cette approche (peut-être ma version de GIT (1.8.4)? Mes fichiers étaient toujours supprimés. J’avais d’autres modifications à apporter à la stack) perdre (malheureusement).

J’ai eu du succès en faisant ceci:

 git reset moved_folder git checkout original_folder 

Si vous avez accidentellement renommé un grand nombre de fichiers et que vous souhaitez revenir à vos débuts, supprimez tous les fichiers renommés qui s’affichent sous forme d’appels sous un appel d’ git status .

Une fois que vous supprimez tous les fichiers modifiés, vous pouvez lancer git checkout -- * pour récupérer les noms de fichiers originaux localement.

 git reset HEAD file2 

fait le tour pour moi

 git reset HEAD file2 git checkout -- file1 rm file2 

La première commande désinstalle fichier2 mais en laisse une copie. La deuxième commande restaure le fichier d’origine et la troisième supprime le nouveau fichier.

Le truc que j’ai utilisé était de faire un git stash pour annuler toutes mes modifications (ce qui inclut la restauration des fichiers mv), puis j’ai supprimé le stash avec git stash drop.