當(dāng)你將一個之前在Linux環(huán)境下開發(fā)的項目clone到windows環(huán)境下轴踱,用atom打開時疯暑,有時會發(fā)現(xiàn)砚哗,剛clone下來的項目怔揩,居然每個文件都被標(biāo)示為黃色的modified狀態(tài)右蕊,點進一個文件琼稻,發(fā)現(xiàn)該文件的modified狀態(tài)消失了。而當(dāng)你好不容易把每個文件都點過一遍尤泽,以為這樣就好了的時候欣簇,隨便折疊展開下文件夾规脸,發(fā)現(xiàn)又有文件變成了modified狀態(tài),如此往復(fù)熊咽,總而言之git狀態(tài)顯示的是亂七八糟莫鸭。。横殴。
其實被因,這一切的罪魁禍?zhǔn)拙褪莣indows 和linux的換行符不同。
大家都知道linux下的換行符是\n
而windows下的則是\r\n
衫仑,如果你在windows下編輯的文件梨与,在linux下打開一般是沒有問題的,因為后面都帶\n
文狱,然而當(dāng)linux下的文件clone到windows時粥鞋,由于windows的換行符前面多一個\r
,只有一個\n
是不會被認為是換行的.這樣在windows看來瞄崇,這個文件整個文本都是在一行中的呻粹,自然就會認為文件被修改了。
好在苏研,git提供了自動轉(zhuǎn)換的方法:
git config --global core.autocrlf true
在windows下執(zhí)行這個等浊,可以讓git在處理文件時自動做CRLF轉(zhuǎn)換,atom的git狀態(tài)問題也就解決了摹蘑。