1. 程式人生 > >Git中的core.autocrlf選項

Git中的core.autocrlf選項

換行 fig onf 配置 成了 auto git 環境 oba

項目的開發環境為Windows,在Linux環境下編譯,使用Git進行版本控制。

在安裝好Git和TortoiseGit後,從遠端clone,遇到一個奇怪的問題,Shell腳本中的LF總是被替換成了CRLF,最後發現是在Git的安裝過程中有一項沒有被配置好。

在Windows下,由回車CR(0x0D)和換行LF(0x0A)共同標誌一行的結束。

而在Linux和Mac環境下,每一行的結束僅有一個換行LF(0x0A)。

在Git中有一項core.autocflf配置項,它可以被配置為true,false和input,它們分別表示:

1 // 提交時轉換為LF,檢出時轉換為CRLF
2 git config --global core.autocrlf true
3 4 // 提交時轉換為LF,檢出時不轉換 5 git config --global core.autocrlf input 6 7 // 提交檢出均不轉換 8 git config --global core.autocrlf false

使用上述的最後一條命令,將core.autocrlf配置為false,即不開啟自動轉換功能。之後重新clone,本地倉庫中的Shell腳本中不再出現CR。檢查我的Git配置,發現core.autocrlf被配置為了true。這樣,在從遠端clone倉庫時,Shell腳本中的LF就被替換成了CRLF。

Git中的core.autocrlf選項