Quelle est la bonne façon d’annuler un changement de nom dans git, comme:
git mv file1 file2
Réponse non effrontée:
git mv file2 file1
Si vous n’avez effectué aucune autre modification (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 voulez que le fichier apparaisse comme si le fichier n'avait jamais été déplacé, vous pouvez réinitialiser (ou rebaser) avant le déplacement. Si vous ne vous souciez pas de l'histoire, remettez-la simplement en arrière.
Dans mon cas, j'ai déplacé un dossier entier, puis j'ai réalisé que je n'aurais pas dû.
J'ai bien 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 changements sur la pile que je ne voulais pas 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 souhaitez revenir à votre point de départ, supprimez tous les fichiers renommés qui apparaissent sous la forme adds
sous un appel git status
.
Une fois que vous avez supprimé tous les fichiers modifiés, vous pouvez exécuter git checkout -- *
pour récupérer les noms de fichiers d'origine localement.
git reset HEAD file2
a fait le tour pour moi
git reset HEAD file2
git checkout -- file1
rm file2
La première commande annule 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’avais utilisé consistait à créer une réserve stellaire git pour annuler toutes mes modifications (ce qui inclut la restauration des fichiers mv'd), puis à la supprimer avec la suppression ponctuelle git.