3 回答

TA貢獻(xiàn)1783條經(jīng)驗(yàn) 獲得超4個(gè)贊
GitHub建議您確保在git處理的存儲(chǔ)庫中僅使用\ n作為換行符。有一個(gè)自動(dòng)轉(zhuǎn)換選項(xiàng):
$ git config --global core.autocrlf true
當(dāng)然,據(jù)說這是將crlf轉(zhuǎn)換為lf,而您想將crlf轉(zhuǎn)換為lf。我希望這仍然有效...
然后轉(zhuǎn)換文件:
# Remove everything from the index
$ git rm --cached -r .
# Re-add all the deleted files to the index
# You should get lots of messages like: "warning: CRLF will be replaced by LF in <file>."
$ git diff --cached --name-only -z | xargs -0 git add
# Commit
$ git commit -m "Fix CRLF"
手冊(cè)頁中介紹了 core.autocrlf 。

TA貢獻(xiàn)1851條經(jīng)驗(yàn) 獲得超5個(gè)贊
在Windows上進(jìn)行開發(fā)時(shí),使用時(shí)遇到了這個(gè)問題git tfs
。我是這樣解決的:
git config --global core.whitespace cr-at-eol
這基本上告訴Git行尾CR并不是錯(cuò)誤。其結(jié)果是,那些煩人的^M
字符不再出現(xiàn)在線路末端git diff
,git show
等等。
似乎保留了其他設(shè)置。例如,行尾的多余空格仍會(huì)在差異中顯示為錯(cuò)誤(以紅色突出顯示)。
(其他答案都暗示了這一點(diǎn),但是以上正是設(shè)置設(shè)置的方法。要僅為一個(gè)項(xiàng)目設(shè)置設(shè)置,請(qǐng)省略--global
。)
編輯:
在經(jīng)歷了許多行尾麻煩之后,在.NET團(tuán)隊(duì)中工作時(shí),我有以下設(shè)置是最幸運(yùn)的:
沒有core.eol設(shè)置
沒有core.whitespace設(shè)置
沒有core.autocrlf設(shè)置
當(dāng)運(yùn)行Windows的Git安裝程序時(shí),您將獲得以下三個(gè)選項(xiàng):
簽出Windows風(fēng)格,提交Unix風(fēng)格的行結(jié)尾 <-選擇這一行
按原樣簽出,提交Unix樣式的行尾
按原樣簽出,按原樣提交
如果需要使用空格設(shè)置,則可能需要在與TFS進(jìn)行交互時(shí)僅在每個(gè)項(xiàng)目中啟用它。只需省略--global
:
git config core.whitespace cr-at-eol
如果您需要?jiǎng)h除一些core。*設(shè)置,最簡單的方法是運(yùn)行以下命令:
git config --global -e
這將在文本編輯器中打開全局.gitconfig文件,您可以輕松刪除要?jiǎng)h除的行。(或者,您也可以在它們前面加上“?!币詫⑵渥⑨尩?。)

TA貢獻(xiàn)1820條經(jīng)驗(yàn) 獲得超3個(gè)贊
另請(qǐng)參閱:
core.whitespace = cr-at-eol
或等效地,
[core]
whitespace = cr-at-eol
其中whitespace以制表符開頭。
- 3 回答
- 0 關(guān)注
- 1973 瀏覽
添加回答
舉報(bào)