2010-06-18 68 views
1

我運行的是混合環境,並保留一箇中央裸倉庫,用於存放我的大部分內容。這個集中的存儲庫在Linux上運行,我檢查到Windows XP/7,Mac和Linux。在所有存儲庫我把下面的一行在我的.git /配置:混合環境中的git crlf配置

[core] 
    autocrlf = true 

我沒有標誌safecrlf=true任何地方。第一次當我修改我的Windows機器(XP)上的東西時沒有問題,當我查看diff時,它看起來很好。但是當我在另一臺Windows機器(7)上執行相同操作時,所有行都顯示爲已更改,但本地行結束符是\ r \ n(如果在十六進制編輯器中進行檢查)。這同樣適用於MacOSX可以。有時候我會感覺到不同的系統在行結束時會摔跤,但我不能確定(我正在放棄所有時間改變特定文件的情況)。

我沒有使用autocrlf設置,但在幾個月前設置了標誌。這可能會導致我目前的問題?我是否需要再次克隆一切以放棄一些舊行李?或者還有其他需要配置的東西嗎?我試過git checkout -- .約一百萬次,但沒有成功。

回答

3

您需要在每臺正在使用的機器上(全局)或存儲庫的每個副本(本地)上設置autocrlftrue。您從克隆的回購設置不適用於您的本地回購。

另一個答案是,你有一個在你的回購文件中的行結尾的混合物。

可以爲每種源文件類型設置結帳過濾器,以糾正其行結尾,並在簽入時將其重置爲回購標準。