[轉(zhuǎn)載]用對(duì) gitignore

使用 git 做代碼管理工具時(shí),設(shè)置 gitignore 是必不可少的流程,一些系統(tǒng)或者 IDE 會(huì)在目錄下生成與項(xiàng)目不相關(guān)的文件,而這些文件我們不期望被提交到倉(cāng)庫(kù)之中。理解 gitignore 的 pattern 規(guī)則十分重要。

Pattern 規(guī)則

關(guān)于 Pattern 規(guī)則,可以查看 git 的相關(guān)文檔:http://git-scm.com/docs/gitignore,大致有以下幾點(diǎn):

  • 空行不匹配任何內(nèi)容,所以可以作為塊分隔符;
  • # 開頭表示注釋,如果相匹配 #,可以在前面加一個(gè)反斜杠,即 #;
  • 除非加了反斜杠,否則一連串的空格會(huì)被忽略;
  • 如果在匹配的內(nèi)容前面加上 !,則這些匹配過(guò)的部分將被移出,如果要匹配以 ! 開頭的內(nèi)容,需要加上反斜杠,如 !important.txt;
  • 如果一個(gè)匹配 pattern 后面有一個(gè)斜杠,如 foo/,則默認(rèn)會(huì)匹配所有(包含父子文件夾)中的 foo 文件夾內(nèi)容,并且它不會(huì)匹配單個(gè)的文件;
  • 如果一個(gè)匹配 pattern 不包含斜杠,如 foo,Git 會(huì)將其作為一個(gè) shell 的查找命令匹配內(nèi)容。

需要注意的 **

  • 如果一個(gè) pattern 以 ** 開頭,如 **/foo,最后會(huì)匹配所有文件夾下的 foo 文件(夾);
  • 如果一個(gè) pattern 以 /** 開頭,如 abc/**,則表示匹配 abc 目錄下的所有內(nèi)容;
  • 如果一個(gè) pattern 中間包含 **,如 a/**/b,則會(huì)匹配 a/b、a/x/b、a/x/y/b 以及所有類似的內(nèi)容。

gitignore 相關(guān)的問(wèn)題

匹配示例

1、如果我們要匹配 ‘foo’ 目錄下除去 ‘foo/bar/‘ 的內(nèi)容,可以這樣做:

foo/
!foo/bar/

2、如果要匹配所有目錄下的 node_modules 文件夾,只需要這樣做:

node_modules/

3、如果要匹配所有的 json 文件,可以這樣做:

*.json

git 操作中,add 之后再加入 gitignore

Git 操作中經(jīng)常會(huì)出現(xiàn)這樣的問(wèn)題,當(dāng)我們 git add 之后,突然想起來(lái)要添加一個(gè) gitignore 文件,但是一些諸如 node_modules/, cache/ 等文件已經(jīng)被 add 進(jìn)去了,這些文件不會(huì)被 ignore 掉,怎么辦?

最直接的方式是:

  • # 這一步的操作相當(dāng)于回到 git add 上一步
    git rm -r --cached .
  • # 然后重新 add
    git add --all .

git 添加空文件夾

Git 默認(rèn)是不添加空文件夾的,如果一定要加入這個(gè)文件夾,有以下方案:

1)在文件夾添加文件,然后刪除

2)在文件夾中添加一個(gè) .gitkeep 文件


轉(zhuǎn)載自:

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • Spring Cloud為開發(fā)人員提供了快速構(gòu)建分布式系統(tǒng)中一些常見模式的工具(例如配置管理,服務(wù)發(fā)現(xiàn),斷路器,智...
    卡卡羅2017閱讀 136,506評(píng)論 19 139
  • Add & Commit git init 初始化一個(gè) Git 倉(cāng)庫(kù)(repository),即把當(dāng)前所在目錄變成...
    冬絮閱讀 5,125評(píng)論 0 9
  • 簡(jiǎn)書新手一枚…… 沒(méi)有接任何廣告,都只是自己從高中時(shí)候來(lái)積累的護(hù)膚化妝心得……當(dāng)然可能要硬插一些……圖片,目的也是...
    斕只有一個(gè)閱讀 572評(píng)論 3 11
  • 塔羅日記day9:星幣6 牌上兩個(gè)乞丐跪伏在商人模樣的男子面前,一個(gè)穿黃色斗篷,另一個(gè)穿藍(lán)色外套,在乞討。牌中間一...
    王可可coco閱讀 748評(píng)論 0 0
  • 簡(jiǎn)書寫作第五天。 今年我大三,也就是,準(zhǔn)大四。 剛從學(xué)校組織里卸任出來(lái),是該寫寫兩年多它給我?guī)?lái)的某些人和某些事。...
    半島哪有鐵盒閱讀 1,020評(píng)論 2 2

友情鏈接更多精彩內(nèi)容