2012-01-12 65 views
1

我正在開發Linux下的軟件,它將使用Windows編譯器進行編譯。我希望git將我的文件與CR-LF行結尾一起存儲在Linux上的存儲庫中,以便能夠在不改變它們的Windows風格的情況下打包源代碼。如何在git中存儲具有CR-LF行結尾的文件?

.gitattributes樣子:

*.cpp eol=crlf 
*.h eol=crlf 

我也已經嘗試過core.eol = crlf。 但是當我在Linux上籤出並提交時,git仍然在使用LF行結尾。

有什麼辦法可以在Linux上使用CR-LF來告訴git嗎?

+0

你的'core.autocrlf'值是什麼?如果是true或native,請將其更改爲false。 – VonC 2012-01-12 10:36:28

+0

我輸入了'core.autocrlf'。設置爲false似乎沒有幫助。 – user1145205 2012-01-12 10:42:48

回答

0

窗口只有編譯器會被只有lf的行尾結束嗎?如果不是,請將其設置爲false。

您只需要將auto crlf設置爲true就可以得到爲編譯器設置的工作樹。

+0

我還沒有找到一個編譯器會被行結尾絆倒。通常問題是Windows *編輯器*和diff工具被絆倒。 – Arafangion 2013-02-11 03:36:58

0

我剛試過這個[Linux; Git版本2.1.0] 而且是最好的,我可以看到它具有以下設置工作:

$ cat .gitattributes 
.gitattributes text 
.gitignore text 
*.cpp  text 
*.h  text 

$ cat ~/.gitconfig 
... 
[core] 
    autocrlf = false 
    safecrlf = true 
    eol = crlf 

在這種配置中,GIT中只允許CRLF文件到數據庫中,並給出了對git add LF一個致命的錯誤。

取出safecrlf設置,現在git add的作品,但現在你會得到LF-文件的警告。

現在rm登記的文件和reset --hard給出了一個crlf文件 - 無論它是否作爲lf或crlf簽入。

我懷疑:你已經有在LF文件中檢查,現在git給了那些。

請在新的回購上嘗試使用上述設置,並告訴我們它是否有效。

相關問題