IDEA設(shè)置換行符為Unix編碼格式

阿里巴巴開發(fā)手冊代碼規(guī)范規(guī)定污呼,一般idea都是默認(rèn)项郊,但會出bug偏化。

原因:

在各操作系統(tǒng)下嗅绰,文本文件所使用的換行符是不一樣的。UNIX/Linux 使用的是?0x0A(LF)向族,早期的 Mac OS 使用的是0x0D(CR)呵燕,后來的 OS X 在更換內(nèi)核后與 UNIX 保持一致了。但 DOS/Windows 一直使用?0x0D0A(CRLF)作為換行符炸枣。

這種不統(tǒng)一確實對跨平臺的文件交換帶來麻煩。雖然靠譜的文本編輯器和 IDE 都支持這幾種換行符弄唧,但文件在保存時總要有一個固定的標(biāo)準(zhǔn)啊适肠,比如跨平臺協(xié)作的項目源碼,到底保存為哪種風(fēng)格的換行符呢候引?

Git 作為一個源碼版本控制系統(tǒng)侯养,對這個問題提供了一個“解決方案”。Git 由大名鼎鼎的 Linus 開發(fā)澄干,最初只可運行于 *nix 系統(tǒng)逛揩,因此推薦只將 UNIX 風(fēng)格的換行符保存入庫柠傍。但它也考慮到跨平臺協(xié)作的場景,并且提供了一個“換行符自動轉(zhuǎn)換”功能辩稽。

這個功能默認(rèn)處于“自動模式”惧笛,當(dāng)你在簽出文件時,它試圖將 UNIX 換行符(LF)替換為 Windows 的換行符(CRLF)逞泄;當(dāng)你在提交文件時患整,它又試圖將 CRLF 替換為 LF。

Git:

Git 的“換行符自動轉(zhuǎn)換”功能聽起來似乎很智能喷众、很貼心各谚,因為它試圖一方面保持倉庫內(nèi)文件的一致性(UNIX 風(fēng)格),一方面又保證本地文件的兼容性(Windows 風(fēng)格)到千。但遺憾的是昌渤,這個功能是有 bug 的,而且在短期內(nèi)都不太可能會修正憔四。

問題具體表現(xiàn)在膀息,如果你手頭的這個文件是一個包含中文字符的 UTF-8 文件,那么這個“換行符自動轉(zhuǎn)換”功能 在提交時是不工作的(但簽出時的轉(zhuǎn)換處理沒有問題)加矛。我猜測可能這個功能模塊在處理中文字符 + CRLF 這對組合時直接崩潰返回了履婉。

示例:

你在 Windows 下用默認(rèn)狀態(tài)的 Git 簽出一個文件,寫了一行中文注釋(或者這個文件本來就包含中文)斟览,然后存盤提交……不經(jīng)意間毁腿,你的文件就被毀掉了。

問題分析:

因為你提交到倉庫的文件已經(jīng)完全變成了 Windows 風(fēng)格(簽出時把 UNIX 風(fēng)格轉(zhuǎn)成了 Windows 風(fēng)格但提交時并沒有轉(zhuǎn)換)苛茂,每一行都有修改(參見本文開頭的示意圖)已烤,而這個修改又不可見(大多數(shù) diff 工具很難清楚地顯示出換行符),這最終導(dǎo)致誰也看不出你這次提交到底修改了什么妓羊。

參考文檔:https://help.github.com/articles/dealing-with-line-endings/#platform-all

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末胯究,一起剝皮案震驚了整個濱河市,隨后出現(xiàn)的幾起案子躁绸,更是在濱河造成了極大的恐慌裕循,老刑警劉巖,帶你破解...
    沈念sama閱讀 206,214評論 6 481
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件净刮,死亡現(xiàn)場離奇詭異剥哑,居然都是意外死亡,警方通過查閱死者的電腦和手機淹父,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 88,307評論 2 382
  • 文/潘曉璐 我一進(jìn)店門株婴,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人暑认,你說我怎么就攤上這事困介〈笊螅” “怎么了?”我有些...
    開封第一講書人閱讀 152,543評論 0 341
  • 文/不壞的土叔 我叫張陵座哩,是天一觀的道長徒扶。 經(jīng)常有香客問我,道長八回,這世上最難降的妖魔是什么酷愧? 我笑而不...
    開封第一講書人閱讀 55,221評論 1 279
  • 正文 為了忘掉前任,我火速辦了婚禮缠诅,結(jié)果婚禮上溶浴,老公的妹妹穿的比我還像新娘。我一直安慰自己管引,他們只是感情好士败,可當(dāng)我...
    茶點故事閱讀 64,224評論 5 371
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著褥伴,像睡著了一般谅将。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上重慢,一...
    開封第一講書人閱讀 49,007評論 1 284
  • 那天饥臂,我揣著相機與錄音,去河邊找鬼似踱。 笑死隅熙,一個胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的核芽。 我是一名探鬼主播囚戚,決...
    沈念sama閱讀 38,313評論 3 399
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼轧简!你這毒婦竟也來了驰坊?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 36,956評論 0 259
  • 序言:老撾萬榮一對情侶失蹤哮独,失蹤者是張志新(化名)和其女友劉穎拳芙,沒想到半個月后,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體皮璧,經(jīng)...
    沈念sama閱讀 43,441評論 1 300
  • 正文 獨居荒郊野嶺守林人離奇死亡舟扎,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 35,925評論 2 323
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發(fā)現(xiàn)自己被綠了恶导。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片浆竭。...
    茶點故事閱讀 38,018評論 1 333
  • 序言:一個原本活蹦亂跳的男人離奇死亡浸须,死狀恐怖惨寿,靈堂內(nèi)的尸體忽然破棺而出邦泄,到底是詐尸還是另有隱情,我是刑警寧澤裂垦,帶...
    沈念sama閱讀 33,685評論 4 322
  • 正文 年R本政府宣布顺囊,位于F島的核電站,受9級特大地震影響蕉拢,放射性物質(zhì)發(fā)生泄漏特碳。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點故事閱讀 39,234評論 3 307
  • 文/蒙蒙 一晕换、第九天 我趴在偏房一處隱蔽的房頂上張望午乓。 院中可真熱鬧,春花似錦闸准、人聲如沸益愈。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,240評論 0 19
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽蒸其。三九已至,卻和暖如春库快,著一層夾襖步出監(jiān)牢的瞬間摸袁,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 31,464評論 1 261
  • 我被黑心中介騙來泰國打工义屏, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留靠汁,地道東北人。 一個月前我還...
    沈念sama閱讀 45,467評論 2 352
  • 正文 我出身青樓湿蛔,卻偏偏與公主長得像膀曾,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子阳啥,可洞房花燭夜當(dāng)晚...
    茶點故事閱讀 42,762評論 2 345

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