Как заставить git проверить главную ветвь и удалить возврат каретки после того, как я нормализовал файлы с помощью атрибута "text"?
хорошо, поэтому я добавил файл .gitattributes
С такими строками
*.css text
*.js text
etc...
затем я следовал инструкциям на http://git-scm.com/docs/gitattributes#_checking-out_and_checking-in
$ 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"
но теперь у моей рабочей копии все еще есть возврат каретки! У меня есть неотслеженные файлы, которые я хотел бы сохранить. Как мне снова проверить git master branch с нормализованными файлами?
Я знаю, что файлы нормализованы в репозитории потому что когда я клонирую РЕПО, у меня есть все файлы без возврата каретки.
2 ответа:
Ахах! Проверьте предыдущую фиксацию, затем проверьте мастер.
git checkout HEAD^ git checkout -f master
если можно просто удалить все файлы в РЕПО, а затем проверить их. Я предпочитаю этот метод, и это можно сделать с помощью кода ниже
git ls-files -z | xargs -0 rm git checkout -- .
или одну строку
git ls-files -z | xargs -0 rm ; git checkout -- .
Я использую его все время, и еще не нашла никаких недостатки!
для некоторого дальнейшего объяснения,
-z
добавляет нулевой символ в конец каждого вывода записи с помощьюls-files
и-0
говоритxargs
чтобы разграничить вывод, который он получал по этим нулевым символам.