2016-09-06 3 views
-1

я переименовал файл в репозитории с:Не ожидается журнал после переименования файла в Git

git mv oldname.py newname.py 

затем git status дал мне, что изменениям должны быть совершенно переименовывают файл. Я не писал git add newname.py. Я совершил и нажал на GitHub, после чего имя файла было успешно изменено. Но когда я увидел историю файла на GitHub, он содержал только последнюю фиксацию, а не все ее фиксации.

Может кто-нибудь, пожалуйста, объясните мне, что случилось?

ответ

0

Git не перемещает историю изменений в файл при перемещении. Это создаст огромный набор проблем при выполнении патчей, возвращении коммитов и т. Д. git mv - это ярлык для удаления файла и добавления в список отслеживаемых файлов.

GitHub не показывает полную историю файлов, но вы можете сделать это вручную с git log --follow newname.py, он должен показать изменения до git mv

+0

Получил это. Благодарю. – Steven

0

git mv a b автоматически добавляет переименованный файл b в промежуточную область. Это фактически то же самое делает

mv a b 
git rm a 
git add b 

или

cp a b 
git rm a 
git add b 

В этом случае можно четко увидеть, почему некоторые клиенты, такие как веб-интерфейс GitHub был бы рассмотреть эти два файла как отдельный.

+0

Понял. Благодарю. – Steven

Смежные вопросы