2012-06-28 3 views
1

Предположим, что у меня есть удаленный, разработчик1 и разработчик2. Developer1 толкает свой проект в пульт. Developer2 клонирует проект с пульта, и он переименовывает файл и помещает его в другую папку. Затем он выталкивает проект на удаленный компьютер. Затем developer1 выбирает проект с пульта.Файл Переименовать обнаружение в git при перестановке

В этом случае будет ли механизм переименования git распознавать, что мой переименованный файл находится в этой другой папке?

+0

Следует признать, что они имеют одинаковый хэш. – nhahtdh

+1

http://stackoverflow.com/questions/1094269/whats-the-purpose-of-git-mv –

ответ

0

Git имеет очень хороший механизм для обнаружения переименования/перемещения файлов. Если содержимое файла не изменилось на много (я думаю, что 90% содержимого должно быть одинаковым) git обнаружит это как перемещение/переименование. Это будет показано, как это в сообщении фиксации:

file.txt -> folder/file.txt 

Если мерзавец не обнаружит файл движения (потому что большая часть файла был изменен), вы можете сказать, что мерзавец, выполнив:

git mv file.txt folder/file.txt 

Таким образом, вы можете быть уверены, что обнаружен перемещение файла.

В любом случае каждая операция разработчика2 будет выполняться с вашей локальной копией кода, включая переименования, когда вы втягиваете изменения.

+0

Использование 'git mv' не окажет никакого влияния на обнаружение перемещения, используемое двигателем git's diff. –

+0

Вы правы, @ charles-bailey. Но действительно работает «git mv file.txt folder/file.txt», а затем фактические изменения в папке/файле.txt – egore911

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