Когато правя git status
виждам това:
Changes not staged for commit:
(use "git add <file>..." to update what will be committed)
(use "git checkout -- <file>..." to discard changes in working directory)
modified: project/schema-readme.md
modified: project/vp-automate.php
Странното е, че тези два файла не всъщност са модифицирани - те са двоично еднакви, байт по байт.
Сега мисля, че знам защо са маркирани като модифицирани от Git: защото използват CRLF окончания на редове, докато нашият проект наскоро добави .gitattributes
файл със следното съдържание:
* text=auto eol=lf
Това трябва да означава, че когато бъдат ангажирани, те действително ще бъдат актуализирани от Git, за да имат LF окончания на редове. Затова ли git status
маркира тези файлове като "модифицирани", въпреки че в момента не са модифицирани?
РЕДАКТИРАНЕ: това е странно, има много повече файлове в моя проект, които използват CRLF окончания на редове и не се откриват като модифицирани.. Не разбирам какво е толкова специално за schema-readme.md
и vp-automate.php
, че Git ги открива като модифицирани.