Вы не можете, но на самом деле это не проблема.
Если вы попросите Git проверить его по имени , вы получите старое имя.
Если вы попросите Git показать вам контент , вы сделаете это по старому имени, и контент перейдет к стандартному выводу, который вы можете перенаправить, но не с помощью Git.Таким образом, вы можете сделать это напрямую, но не напрямую с помощью Git :
git show <hash>:./older-path/file.java > new-path/file.java
Обратите внимание, что git show
не будет применять фильтры (включая фильтрацию конца строки).Добавление --textconv
должно вызывать такие преобразования, но в моих экспериментах это не работает (с Git 2.19.0).Альтернативой является использование git cat-file --filters <hash>:<path>
, которое, похоже, работает.Однако используются фильтры, определенные в current .gitattributes
, а не в .gitattributes
, связанном с указанным коммитом.