3 回答

TA貢獻1836條經驗 獲得超3個贊
克隆存儲庫后,我在Mac上遇到了同樣的問題。假定所有文件都已更改。
運行后git config --global core.autocrlf input,它仍將所有文件標記為已更改。尋找修復程序后,我.gitattributes在主目錄中遇到了以下文件。
* text=auto
我將其注釋掉,從現在開始,任何其他克隆的存儲庫都可以正常工作。

TA貢獻1780條經驗 獲得超5個贊
我假設您正在使用Windows。您鏈接到的GitHub頁面的詳細信息向后。問題是CR + LF行尾已經被提交到存儲庫,并且因為您將core.autocrlf設置為true或input,所以Git希望將行尾轉換為LF,因此git status表明每個文件都已更改。
如果這是您僅想訪問但不參與的存儲庫,則可以運行以下命令僅隱藏問題,而無需實際解決。
git config core.autocrlf false
如果這是您將積極參與并可以提交更改的存儲庫。您可能希望通過提交一次提交來解決該問題,該提交將存儲庫中的所有行結尾更改為使用LF而不是CR + LF,然后采取措施來防止將來再次發生。
以下內容直接取自gitattributes手冊頁,應從干凈的工作目錄執行。
echo "* text=auto" >>.gitattributes
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 status在運行之前取消設置其text屬性git add -u。
manual.pdf -text
相反,Git未檢測到的文本文件可以手動啟用規范化。
weirdchars.txt text
- 3 回答
- 0 關注
- 1254 瀏覽
添加回答
舉報