2016-01-20 35 views
2

我已經提到https://help.github.com/articles/dealing-with-line-endings/#platform-linux並在.gitattributes中設置* text=auto爲什麼git windows版本的行爲不同於linux版本尋址行結束?

這裏是我的問題:

Git倉庫,網絡驅動器上設置,我可以通過Windows或Linux訪問它。 如果我運行git.exe(版本2.5.3.windows.1),我會看到許多未執行文件。但是,如果我在Linux下運行git(版本2.5.3),我將看不到任何非掛臺文件。

windows git報告區別的原因在於unstaged文件有linux結尾,而提交的文件以windows結尾。

問題>爲什麼不同版本的Gits在這裏報告不同的結果?

謝謝

+0

我按照這裏的建議解決了我的問題http://www.marten-online.com/source-versioning/git-dealing-with-line-endings-solution-2.html – q0987

回答

3

隨着text=auto,git會以LF結尾,並與在Windows CRLF結尾結賬承諾,但在Linux上使用專門LF。如果一些克隆人使用Windows,而其他克隆人使用的是Linux,但是如果不同的操作系統共享一個網絡驅動器,這種方式可以正常工作,但他們會不同意工作副本中的行結尾應該是什麼。

如果您添加的文件,你應該爲每一個信息:當您提交

warning: LF will be replaced by CRLF in my-file.txt. 
The file will have its original line endings in your working directory. 

Git會自動處理行結束,所以你真的沒有做任何事情。但是,如果你想保留的行結束不匹配堵塞的git status輸出,git diff,等等,你可以改變你.gitattributes使用LF的一切(假設你在Windows上不會破壞任何東西):

* text eol=lf 
相關問題