首頁  >  文章  >  開發工具  >  版本控制工具Git-忽略文件

版本控制工具Git-忽略文件

齐天大圣
齐天大圣原創
2020-06-17 08:11:462397瀏覽

我們知道,一些快取文件、編輯器產生的文件等其他的文件,我們是不希望納入版本庫的。但如果每次git add 檔名,一個個敲下去,這實在是個非常煩人的操作,容易讓人奔潰。還是使用git add .爽!那我們有沒有辦法忽略一些我們不希望納入版本庫的檔案呢?答案是有的,可以使用.gitignore,在該檔案裡設定想要忽略的那些檔案。然後使用git add .這些檔案也不會被提交了。

例如,我不想將swp檔案納入版本庫,以及不需要runtime這個資料夾,那麼就可以這樣設定

$ vim .gitignore

# 忽略swp文件
*.swp
# 忽略runtime文件夹
/runtime/

下面來說.gitignore使用規範

  • git會忽略以#開頭以及空白的行

  • 可以使用glob正則,它會遞歸到每個目錄(如果沒有指定防止遞歸的話)

  • 可以以/開頭,來防止遞迴

  • #可以/結尾,來指明目錄

  • 可以使用!來方向選擇。

!常見的用法是,我們想要忽略掉一個資料夾,但資料夾裡index.html保留。那麼

/data/
!/data/index.html

表示忽略/data資料夾但是追蹤/data/index.html檔案。

下面講講什麼是glob正規則,其實它是一種簡化版的正規。

它使用*來匹配0個或多個任意字元。例如

*.php 表示匹配以.php结尾的文件
tmp* 表示匹配以tmp开头的所有文件

使用?來匹配一個任意字符,如

周?伦

使用[]來匹配[]裡的任意一個字符,如

[abc] 表示匹配abc其中任意一个

另外,多個字符是連續的話,可以用-來代替,如

[0-9] 表示匹配任意数字

使用兩個星號(**)表示匹配任意中間目錄

比如 a/**/z 可以匹配 a/z 、 a/b/z 或 a/b/c/z 等。

下面我們以一個例子來講解忽略文件的用法,一般的,我們會忽略/vendor目錄,配置文件,日誌資料夾/log,快取文件等。

# 忽略swp文件
*.swp
# 忽略/vendor文件夹
/vendor/
# 忽略配置文件
/app/config/config.php
# 忽略/log文件夹
/log/
# 忽略缓存文件夹
/runtime/

上面所說就是如何去忽略那些不想加入到版本庫的文件,一般建議是開始階段就配置好該文件,防止提交不需要的文件。

以上是版本控制工具Git-忽略文件的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn