git add時(shí)不同系統(tǒng)的CRLF處理問題

主題:git add處理不同系統(tǒng)的CRLF問題

將代碼從工作區(qū)加入暫存區(qū)時(shí)出現(xiàn)CRLF和LF轉(zhuǎn)換的問題,正好一年前我剛玩linux時(shí)候研究過一陣子這個(gè)問題虏束,今天早上使用tcg/voyager時(shí)候也出現(xiàn)了這個(gè)問題棉饶,這里我就稍微說一下問題出現(xiàn)的原因以及處理的辦法。
如果您在Windows上進(jìn)行編程镇匀,但你的合作團(tuán)隊(duì)有人在MacOS或者Linux上編程,你可能遇到這篇文章的說明問題袜啃。這是因?yàn)閃indows在其文件中使用換行符和換行字符汗侵,而Mac和Linux系統(tǒng)只使用換行字符。這是跨平臺工作令人難以置信的煩人事實(shí); Windows上的許多編輯器用CRLF替換現(xiàn)有的LF行的結(jié)尾群发,或者當(dāng)用戶點(diǎn)擊Enter鍵時(shí)插入兩個(gè)行結(jié)束字符

  • 首先我們必須知道現(xiàn)在電腦系統(tǒng)有windows晰韵,unix兩大系列,unix下有很多變體稱為類Unix系統(tǒng)
    熟妓,主要有MacOS雪猪,Linux,Hp-ux起愈,Ibm-aix只恨,Solaris等等译仗。這其中由于Linux是開源集大成者,在它的體系中又衍生了以Fodora和Debian的兩大陣營官觅。類unix系統(tǒng)大多數(shù)時(shí)候是使用兼容的纵菌,但是windows和類unix系統(tǒng)之間無論是操作還是設(shè)計(jì)理念都不一樣。

  • 這次要提到的問題休涤,起源就在上面這段話中咱圆。類unix系統(tǒng)中,回車就是回車(carriage return)功氨,換行就是換行(line feed)序苏,它們綁定13和10兩個(gè)ASCII碼值,回車和換行分別簡稱CR和LF捷凄。編輯代碼的時(shí)候忱详,Windows系統(tǒng)里面,每行結(jié)尾是"<回車><換行>"纵势,即"\r\n"踱阿;類Unix系統(tǒng)里,每行結(jié)尾是"<回車>"钦铁。

  • 這樣會(huì)導(dǎo)致什么后果软舌?Unix/Mac系統(tǒng)下的文件在Windows里打開的話,所有文字會(huì)變成一行牛曹;而Windows里的文件在Unix/Mac下打開的話佛点,在每行的結(jié)尾可能會(huì)多出一個(gè)^M符號。

  • 那么git add
    操作中為什么會(huì)提示LF將會(huì)被替換為CRLF呢黎比?主要可能有下面幾個(gè)原因超营?

    • 團(tuán)隊(duì)開發(fā),每個(gè)人實(shí)用的操作系統(tǒng)平臺不同阅虫。
    • 使用了雙系統(tǒng)演闭,開發(fā)時(shí)候切換系統(tǒng)進(jìn)行編碼。
    • 沒有設(shè)置PhpStorm和Atom等常用IDE均有的LF綁定功能颓帝。
  • 解決辦法呢米碰?主要看你從git角度去解決還是文件角度去思考。如果你想把文件本身進(jìn)行轉(zhuǎn)換购城,請使用IDE的LF-CR綁定設(shè)置
    或者.editorconfig
    文件轉(zhuǎn)換吕座,如果你從代碼提交暫存區(qū)或者倉庫來考慮,那么Git有幾個(gè)配置選項(xiàng)來幫助解決這些問題瘪板,你應(yīng)該看看下面的幾行代碼:

git config core.autocrlf true

git config core.autocrlf input

git config core.autocrlf false

core.autocrlf這個(gè)設(shè)置應(yīng)該在Windows檢查中留下CRLF結(jié)尾吴趴,但是在Mac和Linux系統(tǒng)以及存儲庫中的LF結(jié)束。

  • 第一行:當(dāng)你將文件添加到暫存區(qū)時(shí)侮攀,Git可以通過設(shè)置core.autocrlf將CRLF行結(jié)尾自動(dòng)轉(zhuǎn)換為LF來處理這類問題锣枝。如果您在Windows機(jī)器上厢拭,將其設(shè)置為true,那么當(dāng)您pull代碼時(shí)惊橱,將LF結(jié)尾轉(zhuǎn)換為CRLF蚪腐。

  • 第二行:如果您使用的是Linux或Mac系統(tǒng),那么當(dāng)您pull文件時(shí)税朴,您不希望Git自動(dòng)轉(zhuǎn)換它們; 然而回季,如果你的Windows隊(duì)友把未經(jīng)處理帶CRLF格式的文件push到遠(yuǎn)程代碼庫,那么你可能希望Git來自動(dòng)解決這個(gè)問題正林∨菀唬可以通過將core.autocrlf設(shè)置為input來告知Git將CRLF轉(zhuǎn)換為LF。

  • 第三行:如果你是Windows程序員觅廓,只執(zhí)行一個(gè)Windows項(xiàng)目或者所團(tuán)隊(duì)都是用windows系統(tǒng)甚至服務(wù)器都用windows鼻忠,那么您可以關(guān)閉此功能,通過將配置值設(shè)置為false杈绸,將回車記錄在存儲庫中醉拓。

參考地址:

維基百科:類Unix系統(tǒng)

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末裳朋,一起剝皮案震驚了整個(gè)濱河市,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌屹堰,老刑警劉巖涵叮,帶你破解...
    沈念sama閱讀 221,198評論 6 514
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件萌踱,死亡現(xiàn)場離奇詭異厌漂,居然都是意外死亡,警方通過查閱死者的電腦和手機(jī)烧栋,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 94,334評論 3 398
  • 文/潘曉璐 我一進(jìn)店門写妥,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人审姓,你說我怎么就攤上這事珍特。” “怎么了魔吐?”我有些...
    開封第一講書人閱讀 167,643評論 0 360
  • 文/不壞的土叔 我叫張陵次坡,是天一觀的道長。 經(jīng)常有香客問我画畅,道長,這世上最難降的妖魔是什么宋距? 我笑而不...
    開封第一講書人閱讀 59,495評論 1 296
  • 正文 為了忘掉前任轴踱,我火速辦了婚禮,結(jié)果婚禮上谚赎,老公的妹妹穿的比我還像新娘淫僻。我一直安慰自己诱篷,他們只是感情好,可當(dāng)我...
    茶點(diǎn)故事閱讀 68,502評論 6 397
  • 文/花漫 我一把揭開白布雳灵。 她就那樣靜靜地躺著棕所,像睡著了一般。 火紅的嫁衣襯著肌膚如雪悯辙。 梳的紋絲不亂的頭發(fā)上琳省,一...
    開封第一講書人閱讀 52,156評論 1 308
  • 那天,我揣著相機(jī)與錄音躲撰,去河邊找鬼针贬。 笑死,一個(gè)胖子當(dāng)著我的面吹牛拢蛋,可吹牛的內(nèi)容都是我干的桦他。 我是一名探鬼主播,決...
    沈念sama閱讀 40,743評論 3 421
  • 文/蒼蘭香墨 我猛地睜開眼谆棱,長吁一口氣:“原來是場噩夢啊……” “哼快压!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起垃瞧,我...
    開封第一講書人閱讀 39,659評論 0 276
  • 序言:老撾萬榮一對情侶失蹤蔫劣,失蹤者是張志新(化名)和其女友劉穎,沒想到半個(gè)月后皆警,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體拦宣,經(jīng)...
    沈念sama閱讀 46,200評論 1 319
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 38,282評論 3 340
  • 正文 我和宋清朗相戀三年信姓,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了鸵隧。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點(diǎn)故事閱讀 40,424評論 1 352
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡意推,死狀恐怖豆瘫,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情菊值,我是刑警寧澤外驱,帶...
    沈念sama閱讀 36,107評論 5 349
  • 正文 年R本政府宣布,位于F島的核電站腻窒,受9級特大地震影響昵宇,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜儿子,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,789評論 3 333
  • 文/蒙蒙 一瓦哎、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧,春花似錦蒋譬、人聲如沸割岛。這莊子的主人今日做“春日...
    開封第一講書人閱讀 32,264評論 0 23
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽癣漆。三九已至,卻和暖如春剂买,著一層夾襖步出監(jiān)牢的瞬間惠爽,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 33,390評論 1 271
  • 我被黑心中介騙來泰國打工雷恃, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留疆股,地道東北人。 一個(gè)月前我還...
    沈念sama閱讀 48,798評論 3 376
  • 正文 我出身青樓倒槐,卻偏偏與公主長得像旬痹,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個(gè)殘疾皇子讨越,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 45,435評論 2 359

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