請把 .gitattributes 加到你的 Git 倉庫中

什么是 .gitattributes ?

當執(zhí)行 git 動作時扩借,.gitattributes 文件允許你指定由 git 使用的文件和路徑的屬性,例如:git commit等。

換句話說,每當有文件保存或者創(chuàng)建時狐肢,git 會根據(jù)指定的屬性來自動地保存舱呻。

其中的一個屬性是eol(end of line)梁剔,用于配置文件的結(jié)尾脯颜。本文將會深入了解如何配置文件的結(jié)尾行哟旗,這樣的話,即使在不同的機器、操作系統(tǒng) 上都可以使得每個開發(fā)者都可以使用相同的值热幔。

為什么是 .gitattributes(開發(fā)者之間的爭議 ?? )?

不是所有的開發(fā)者都是一樣的,不能因為你是在 Windows 上使用 Visual Studio Code 開發(fā)的讼庇,就期望別的 Pull Request 也是基于相同的開發(fā) 環(huán)境完成的(在 MacOS 上可能用的是 Sublime Text2)绎巨。

正如上面提到的,開發(fā)者使用不同的操作系統(tǒng)蠕啄,默認的文件結(jié)尾行就會不同场勤。在 Windows 上默認的是回車換行(Carriage Return Line Feed, CRLF),然而歼跟,在 Linux/MacOS 上則是換行(Line Feed, LF)和媳。

從表面看起來,內(nèi)容都是一樣的哈街,那我們?yōu)槭裁催€會困擾呢留瞳???

好的,如果你啟用了該功能骚秦,并設(shè)置屬性endOfLinelf的話她倘。

{
  "endOfLine": "lf"
}

在 Windows 上,開發(fā)者會看到如下的檢查警告作箍。

linting-errors.png

這時候.gitattributes就可以派上用場了 ??硬梁!

新倉庫

首先,在倉庫的根目錄下創(chuàng)建名為.gitattributes的文件胞得。

下面荧止,是一份.gitattributes文件的樣例內(nèi)容。

*.js    eol=lf
*.jsx   eol=lf
*.json  eol=lf

把該文件提交并推送到服務(wù)器上阶剑。

git add .
git commit -m "Added .gitattributes to repo"
git push

現(xiàn)在跃巡,任何人從倉庫獲取代碼后,創(chuàng)建以及修改文件時个扰,git 都會自動地設(shè)置好正確的文件結(jié)尾瓷炮。

增加到已有的 Git 倉庫

正如上面提到的,在倉庫的根目錄下創(chuàng)建名為.gitattributes的文件递宅。一旦文件推送到 git 服務(wù)器后娘香,請確保你的本地 倉庫是干凈的、無需提交的办龄。使用命令git status可以檢查是否你的倉庫是干凈的烘绽。

注意:如果你還有未提及或推送的文件,請確保這些動作已經(jīng)被執(zhí)行過了俐填,或者在執(zhí)行下面的命令前stash過安接。

重置 GitAttributes

git rm --cached -r
git reset --hard

上面的命令就會根據(jù)文件.gitattributes中的定義,更新文件的結(jié)尾行英融。

任何變更都會自動使用指定文件的文件結(jié)尾行格式盏檐。

下一步歇式,可以通知團隊成員或者協(xié)作者去執(zhí)行 Git 屬性重置的命令。

現(xiàn)在胡野,prettier 就不會在提示有關(guān) CR 的問題了材失,所有的開發(fā)者都可以安心寫代碼了! ??

no-prettier-linting-errors.png
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個濱河市硫豆,隨后出現(xiàn)的幾起案子龙巨,更是在濱河造成了極大的恐慌,老刑警劉巖熊响,帶你破解...
    沈念sama閱讀 219,490評論 6 508
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件旨别,死亡現(xiàn)場離奇詭異,居然都是意外死亡汗茄,警方通過查閱死者的電腦和手機秸弛,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 93,581評論 3 395
  • 文/潘曉璐 我一進店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來洪碳,“玉大人胆屿,你說我怎么就攤上這事∨脊” “怎么了非迹?”我有些...
    開封第一講書人閱讀 165,830評論 0 356
  • 文/不壞的土叔 我叫張陵,是天一觀的道長纯趋。 經(jīng)常有香客問我憎兽,道長,這世上最難降的妖魔是什么吵冒? 我笑而不...
    開封第一講書人閱讀 58,957評論 1 295
  • 正文 為了忘掉前任纯命,我火速辦了婚禮,結(jié)果婚禮上痹栖,老公的妹妹穿的比我還像新娘亿汞。我一直安慰自己,他們只是感情好揪阿,可當我...
    茶點故事閱讀 67,974評論 6 393
  • 文/花漫 我一把揭開白布疗我。 她就那樣靜靜地躺著,像睡著了一般南捂。 火紅的嫁衣襯著肌膚如雪吴裤。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 51,754評論 1 307
  • 那天溺健,我揣著相機與錄音麦牺,去河邊找鬼。 笑死,一個胖子當著我的面吹牛剖膳,可吹牛的內(nèi)容都是我干的魏颓。 我是一名探鬼主播,決...
    沈念sama閱讀 40,464評論 3 420
  • 文/蒼蘭香墨 我猛地睜開眼吱晒,長吁一口氣:“原來是場噩夢啊……” “哼琼开!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起枕荞,我...
    開封第一講書人閱讀 39,357評論 0 276
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎搞动,沒想到半個月后躏精,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 45,847評論 1 317
  • 正文 獨居荒郊野嶺守林人離奇死亡鹦肿,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 37,995評論 3 338
  • 正文 我和宋清朗相戀三年矗烛,在試婚紗的時候發(fā)現(xiàn)自己被綠了。 大學時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片箩溃。...
    茶點故事閱讀 40,137評論 1 351
  • 序言:一個原本活蹦亂跳的男人離奇死亡瞭吃,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出涣旨,到底是詐尸還是另有隱情歪架,我是刑警寧澤,帶...
    沈念sama閱讀 35,819評論 5 346
  • 正文 年R本政府宣布霹陡,位于F島的核電站和蚪,受9級特大地震影響,放射性物質(zhì)發(fā)生泄漏烹棉。R本人自食惡果不足惜攒霹,卻給世界環(huán)境...
    茶點故事閱讀 41,482評論 3 331
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望浆洗。 院中可真熱鬧催束,春花似錦、人聲如沸伏社。這莊子的主人今日做“春日...
    開封第一講書人閱讀 32,023評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽摘昌。三九已至矫付,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間第焰,已是汗流浹背买优。 一陣腳步聲響...
    開封第一講書人閱讀 33,149評論 1 272
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留,地道東北人杀赢。 一個月前我還...
    沈念sama閱讀 48,409評論 3 373
  • 正文 我出身青樓烘跺,卻偏偏與公主長得像,于是被迫代替她去往敵國和親脂崔。 傳聞我的和親對象是個殘疾皇子滤淳,可洞房花燭夜當晚...
    茶點故事閱讀 45,086評論 2 355

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