Некоторые файлы не считаются переименованными при перемещении их на git

У меня есть одна папка с ~300 файлами и ~ 30 папками. Я вырезал папку (Ctrl+X) и вставил (Ctrl+V) в ожидаемую папку.

Тогда я только сделал git add -A,

После выполнения git statusЯ бы сказал, что 95% файлов правильно считаются "переименованными", но некоторые темы "удалены"+"новый файл".

Я не могу найти никакой логики, которая перегруппировала бы непереименованные файлы.

В чем здесь проблема? И как вы думаете, я могу решить это?

(У меня git версии 2.18.0.windows.1)

1 ответ

Одно слепое предположение: все окончания строк изменились, поэтому git рассматривает два файла как разные

git может изменить содержимое файлов, когда вы git add их.

Наиболее распространенным случаем является то, как он обрабатывает crlf окончания строки: см. этот SO ответ, например.


Вы можете вручную проверить разницу между "удаленной" версией и "добавленной" версией:

 # compare the content of 'old/file' as stored in the HEAD commit,
 # and 'new/file' as stored on your disk :
 git diff HEAD:old_deleted_dir/file  :new_added_dir/file

: до того, как "новый файл" уместен: git будет использовать индексированную версию файла (ту, которая addзашел в свой кеш)

Другие вопросы по тегам