Git提示“warning: LF will be replaced by CRLF

  1. 問題描述:
    Window平臺(tái)下使用“git add .”出現(xiàn)“warning: LF will be replaced by CRLF”的提示:
    {W0_C%W6YIJL2`OD2%$ZXGM.png
  2. 問題解決:
    那么遇到這種問題該如何解決呢改览?下翎?
git config --global core.autocrlf true //注意--前面有空格!宝当!

如果我們目前是Window平臺(tái)并出現(xiàn)該警告视事,啥也別做就行,雖然這個(gè)警告難看庆揩,但這個(gè)警告能保證我們項(xiàng)目團(tuán)隊(duì)正忱跨系統(tǒng)git操作代碼.
因?yàn)間it的Windows 客戶端基本都會(huì)默認(rèn)設(shè)置 core.autocrlf=true(我們可通過git config core.autocrlf命令查詢我們的Windows上該屬性是否默認(rèn)true.如不是true,通過config --global core.autocrlf true命令設(shè)置該屬性為true),而“core.autocrlf=true”有以下3個(gè)功能來避免我們出錯(cuò):
(A)在“把 modified修改過的文件git add到暫存區(qū)stage”時(shí)订晌,Git自動(dòng)把LF轉(zhuǎn)換成CRLF,并給出那條警告”LF will be replaced by CRLF”
(B)在“把modified修改過的文件由暫存區(qū)(stage) 提交(commit)到版本庫/倉庫(repository)”時(shí)虏辫,Git自動(dòng)把CRLF轉(zhuǎn)換成LF
?在“用 檢出/git checkout切換到指定分支 或 git clone克隆遠(yuǎn)程版本庫”來加載代碼時(shí),Git自動(dòng)把LF轉(zhuǎn)換成CRLF
提到的那句警告:“IF will be replaced by CRLF in ”
這句警告的下面其實(shí)還有一句很重要的話:The file will have its original line endings in your working directory.

  1. 問題原因:
    我們?cè)赪indows平臺(tái)下git add任意Windows平臺(tái)編輯過的代碼文本的換行默認(rèn)都是CRLF锈拨,所以一般git add不會(huì)出錯(cuò).但是如果如下的(i)或者(ii)發(fā)生了砌庄,那我們?cè)龠M(jìn)行g(shù)it add這個(gè)LF換行的文件時(shí),會(huì)出現(xiàn)這個(gè)警告" LF will be replaced by CRLF in …".
    (i)我們的團(tuán)隊(duì)成員是Linux/Mac平臺(tái)并參與了項(xiàng)目的git提交
    (ii)我們Windows平臺(tái)的某些軟件會(huì)生成換行是LF的代碼文本(如git add的是Webstorm生成的HTML項(xiàng)目中隱藏文件夾.idea中的workspace.xml,這個(gè)xml文件換行是LF)
    (1)不同操作系統(tǒng)下奕枢,處理行尾結(jié)束符的方法是不同的:
    (A)Windows和Dos下:使用回車(CR)和換行(LF)兩個(gè)字符來結(jié)束一行娄昆,回車+換行(CR+LF),即“\r\n”缝彬;
    (B)Unix和mac下:只使用換行(LF)一個(gè)字符來結(jié)束一行萌焰,即“\n”;
    (最早Mac每行結(jié)尾是回車CR 即’\r’谷浅,后mac os x 也投奔了 unix)
    (2)Git下處理“換行”(line ending)
    core.autocrlf是git中負(fù)責(zé)處理line ending的變量扒俯,可以設(shè)置3個(gè)值:true,false一疯,input.
    (A)設(shè)置為true【config --global core.autocrlf true】
    當(dāng)設(shè)置成true時(shí)撼玄,這意味著你在任何時(shí)候添加(add)文件到git倉庫時(shí),git都會(huì)視為它是一個(gè)文本文件(text file).
    它將把crlf變成LF.
    (B)設(shè)置為false【config --global core.autocrlf false】
    當(dāng)設(shè)置成false時(shí)违施,line endings將不做轉(zhuǎn)換操作.文本文件保持原來的樣子.
    ?設(shè)置為input時(shí)互纯,添加文件git倉庫時(shí)瑟幕,git把crlf編程lf.當(dāng)有人Check代碼時(shí)還是lf方式.因此在window操作系統(tǒng)下磕蒲,不要使用這個(gè)設(shè)置.
  2. 此問題的負(fù)面影響
    格式化與多余的空白字符留潦,特別是在跨平臺(tái)情況下,有時(shí)候是一個(gè)令人發(fā)指的問題.由于編輯器的不同或者文件行尾的換行符在 Windows 下被替換了辣往,一些細(xì)微的空格變化會(huì)不經(jīng)意地混入提交兔院,造成麻煩.雖然這是小問題,但會(huì)極大地?cái)_亂跨平臺(tái)協(xié)作.
    假如你正在Windows上寫程序;又或者你正在和其他人合作站削,他們?cè)赪indows上編程坊萝,而你卻在其他系統(tǒng)上,在這些情況下许起,你可能會(huì)遇到行尾結(jié)束符問題.此問題的全部負(fù)面影響如下:
    (1)一個(gè)直接后果是十偶,Unix/Mac系統(tǒng)下的一個(gè)“多行文本”文件在Windows里打開的話,“多行文本”會(huì)變成“一行”.(原因:Unix/Mac換行只用了換行符‘\n’园细,而Windows的換行要求是回車換行符’\r\n’惦积,因此Unix/Mac中的“多行文本”的換行不符合Windows的規(guī)則,所以Windows對(duì)這些不符合換行規(guī)則的“多行文本”全部按照“沒有換行”處理猛频,所以導(dǎo)致“多行文本”會(huì)變成“一行”)
    (2)而Windows里的文件在Unix/Mac下打開的話狮崩,在每行的結(jié)尾可能會(huì)多出一個(gè)^M符號(hào).
    (3)Linux保存的文件在windows上用記事本看的話會(huì)出現(xiàn)黑點(diǎn).
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個(gè)濱河市鹿寻,隨后出現(xiàn)的幾起案子睦柴,更是在濱河造成了極大的恐慌,老刑警劉巖毡熏,帶你破解...
    沈念sama閱讀 212,884評(píng)論 6 492
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件坦敌,死亡現(xiàn)場離奇詭異,居然都是意外死亡痢法,警方通過查閱死者的電腦和手機(jī)恬试,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 90,755評(píng)論 3 385
  • 文/潘曉璐 我一進(jìn)店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來疯暑,“玉大人训柴,你說我怎么就攤上這事「菊” “怎么了幻馁?”我有些...
    開封第一講書人閱讀 158,369評(píng)論 0 348
  • 文/不壞的土叔 我叫張陵,是天一觀的道長越锈。 經(jīng)常有香客問我仗嗦,道長,這世上最難降的妖魔是什么甘凭? 我笑而不...
    開封第一講書人閱讀 56,799評(píng)論 1 285
  • 正文 為了忘掉前任稀拐,我火速辦了婚禮,結(jié)果婚禮上丹弱,老公的妹妹穿的比我還像新娘德撬。我一直安慰自己铲咨,他們只是感情好,可當(dāng)我...
    茶點(diǎn)故事閱讀 65,910評(píng)論 6 386
  • 文/花漫 我一把揭開白布蜓洪。 她就那樣靜靜地躺著纤勒,像睡著了一般。 火紅的嫁衣襯著肌膚如雪隆檀。 梳的紋絲不亂的頭發(fā)上摇天,一...
    開封第一講書人閱讀 50,096評(píng)論 1 291
  • 那天,我揣著相機(jī)與錄音恐仑,去河邊找鬼泉坐。 笑死,一個(gè)胖子當(dāng)著我的面吹牛裳仆,可吹牛的內(nèi)容都是我干的坚冀。 我是一名探鬼主播,決...
    沈念sama閱讀 39,159評(píng)論 3 411
  • 文/蒼蘭香墨 我猛地睜開眼鉴逞,長吁一口氣:“原來是場噩夢(mèng)啊……” “哼记某!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起构捡,我...
    開封第一講書人閱讀 37,917評(píng)論 0 268
  • 序言:老撾萬榮一對(duì)情侶失蹤液南,失蹤者是張志新(化名)和其女友劉穎,沒想到半個(gè)月后勾徽,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體滑凉,經(jīng)...
    沈念sama閱讀 44,360評(píng)論 1 303
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 36,673評(píng)論 2 327
  • 正文 我和宋清朗相戀三年喘帚,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了畅姊。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點(diǎn)故事閱讀 38,814評(píng)論 1 341
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡吹由,死狀恐怖若未,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情倾鲫,我是刑警寧澤粗合,帶...
    沈念sama閱讀 34,509評(píng)論 4 334
  • 正文 年R本政府宣布,位于F島的核電站乌昔,受9級(jí)特大地震影響隙疚,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜磕道,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 40,156評(píng)論 3 317
  • 文/蒙蒙 一供屉、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧,春花似錦伶丐、人聲如沸悼做。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,882評(píng)論 0 21
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽贿堰。三九已至辙芍,卻和暖如春啡彬,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背故硅。 一陣腳步聲響...
    開封第一講書人閱讀 32,123評(píng)論 1 267
  • 我被黑心中介騙來泰國打工庶灿, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留,地道東北人吃衅。 一個(gè)月前我還...
    沈念sama閱讀 46,641評(píng)論 2 362
  • 正文 我出身青樓往踢,卻偏偏與公主長得像,于是被迫代替她去往敵國和親徘层。 傳聞我的和親對(duì)象是個(gè)殘疾皇子峻呕,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 43,728評(píng)論 2 351

推薦閱讀更多精彩內(nèi)容