我是新來的git,我已經讀了很多關於行尾和 Git是如何對待他們。順便說一句,我在Windows上。我製作了 a .gitattributes
文件,並將例如* .txt設置爲文本。 當我提交一個txt文件,我得到警告:git:如何在不禁用safecrlf的情況下襬脫「警告:CRLF將被LF取代」?
警告:CRLF將LF在whatever.txt
被替換,但我知道這一點。我不需要這個警告。替換行 文本文件中的結尾是我想要的。
現在,設置safecrlf
爲false使警告 消失,但safecrlf
手冊上寫着:
如果爲真,使得git的檢查,如果轉換CRLF是可逆 時結束線轉換爲主動。 Git將驗證命令 是否直接在工作樹上修改文件 或間接修改文件。例如,提交一個文件後跟 檢出相同的文件應該在工作樹中產生原始文件 。如果core.autocrlf的當前設置爲 ,git將拒絕該文件。
從此,safecrlf
似乎是一個好主意。 但是,我不明白爲什麼設置safecrlf
爲真 給我警告我的文本文件;在我看來, 這些是不同的問題 - 文本文件的警告和 檢查是否可逆。事實上,git不會拒絕我的 文件。
我可以擺脫文本文件的警告,並仍然有 safecrlf
集?或者我誤解了一些東西?
爲什麼文件不是已經轉換成Window的樣式文件?我覺得這個警告很好,git告訴你它以某種方式修改了這個文件。真正的解決方案是沒有文件處於git必須修改它的狀態。如果您從中央存儲庫克隆,您可能會對其他人造成危險。 – cforbish
cforbish我認爲這是一個Windows風格的文件。它有CRLF,它會用LF結尾來承擔。但我知道這一點。 – oskarkv
oskarkv抱歉的誤解。你碰巧使用vim/gvim嗎?如果是這樣,您可以使用':set ff = unix'將該文件製作爲Linux樣式文件,以避免警告。這實際上修改了文件,所以你必須':w'。 – cforbish