git mv file1 file2
git status
# On branch master
# Changes to be committed:
# (use "git reset HEAD <file>..." to unstage)
#
# renamed: file1 -> file2
git stash
git stash pop
# On branch master
# Changes to be committed:
# (use "git reset HEAD <file>..." to unstage)
#
# new file: file2
#
# Changes not staged for commit:
# (use "git add/rm <file>..." to update what will be committed)
# (use "git checkout -- <file>..." to discard changes in working directory)
#
# deleted: file1
Как вы можете видеть, git теряет переименованное отношение после stash/pop. Есть ли способ восстановить эти отношения или сообщить, что файлы были перемещены? Я часто задерживаю, чтобы узнать, как мое состояние системы похоже на предварительные изменения, но потерять отношения переименования - проблема для меня. Я не знаю, как исправить это, кроме как удалить новый файл, снова выполнить git mv и заменить новое содержимое файла.