Для тех, кто использует v2.16 или выше, вы можете просто использовать:
git add --renormalize . # Update index with renormalized files
git status # Show the files that will be normalized
git commit -m "Introduce end-of-line normalization"
Эти указания взяты прямо из gitattributes. Для более старых версий документы (до версии 2.12) предоставляют другой ответ:
rm .git/index # Remove the index to force git to
git reset # re-scan the working directory
git status # Show files that will be normalized
git add -u
git add .gitattributes
git commit -m "Introduce end-of-line normalization"
Выполните эту последовательность после того, как вы отредактировали .gitattributes
.
Обновлять
Похоже, у некоторых пользователей возникли проблемы с приведенными выше инструкциями. В обновленной документации для gitattributes (с 2.12 по 2.14) представлен новый набор инструкций. (после редактирования файлов .gitattributes):
git read-tree --empty # Clean index, force re-scan of working directory
git add .
git status # Show files that will be normalized
git commit -m "Introduce end-of-line normalization"
Спасибо @vossad01 за указание на это.
Кроме того, при любом решении файлы в вашей рабочей копии по-прежнему сохраняют свои старые окончания строк. Если вы хотите обновить их, убедитесь, что ваше рабочее дерево чистое, и используйте:
git rm --cached -r .
git reset --hard
Теперь окончания строк в вашем рабочем дереве будут правильными.
person
John Szakmeister
schedule
26.03.2013