После долгих поисков я не нашел удовлетворительного метода, который легко использовать для просмотра полной истории перемещенного файла в Git и, что более важно, в Gitk. Использование git log --follow [filePath]
и даже gitk --follow [filePath]
дает вам коммиты, в которых участвовал файл, но не покажет вам фактическую историю изменений файла до перемещения. Таким образом, я придумал грубое, но простое обходное решение.
- Сделайте
gitk
для перемещенного файла:gitk [newFilePath]
. Скопируйте идентификатор SHA1 первого коммита, это должен быть коммит, в который был перемещен файл. - Выполните
gitk
для скопированного идентификатора SHA1:gitk [SHA1ID]
. Последняя фиксация должна быть сделана, когда произошло перемещение. Найдите перемещенный файл и скопируйте старый путь. - Сделайте
gitk
для идентификатора SHA1, который мы только что скопировали, и старого пути к файлу:gitk [SHA1ID] -- [oldFilePath]
Этот процесс позволит вам просмотреть историю файла перед перемещением. Если ходов было несколько, описанный выше процесс можно повторить.
Если есть какие-либо лучшие решения этой проблемы, особенно если есть способ объединить эти шаги для отображения полной истории с ходами, мы будем очень признательны.