gitignore設定跟蹤忽略資料夾中檔案

2021-07-31 21:15:30 字數 2117 閱讀 5108

規則

作用/mtk/

過濾整個資料夾

*.zip

過濾所有.zip檔案

/mtk/do.c

過濾某個具體檔案

!/mtk/one.txt

追蹤(不過濾)某個具體檔案

注意:如果你建立.gitignore檔案之前就push了某一檔案,那麼即使你在.gitignore檔案中寫入過濾該檔案的規則,該規則也不會起作用,git仍然會對該檔案進行版本管理。

注意:git 對於 .gitignore配置檔案是按行從上到下進行規則匹配的

示例:假設想要忽略根目錄下所有的名為win7release或release的資料夾,可在.gitignore檔案中新增如下規則

*[rr]elease/
若想忽略類似test/bin/目錄下名為win7release或release的資料夾,則新增規則

*/bin/*[rr]elease/
注意:當新增的規則中包含目錄層級時,該目錄應為相對於根目錄的完整路徑,上面的規則若修改為bin/*[rr]elease/是無效的。若想只忽略根目錄下名為win7release或release的資料夾,可新增規則

/*[rr]elease/
假設想要忽略所有的名為win7release或release的資料夾下除.txt檔案之外的檔案,很容易寫成如下錯誤形式

*[rr]elease/

!*[rr]elease/*.txt

注意:上面已經說過git對於.gitignore配置檔案是按行從上到下進行規則匹配的,由於先執行*[rr]elease/忽略了所有符合條件的資料夾,接下來執行!*[rr]elease/*.txt時找不到名為*[rr]elease的資料夾,也就無法追蹤這些資料夾下的txt檔案了。

所以,在這裡,第一步我們不應該忽略這些資料夾,而應該忽略這些資料夾下的所有檔案,正確規則新增如下

*[rr]elease/*

!*[rr]elease/*.txt

*/bin/*[rr]elease/*

!*/bin/*[rr]elease/*.txt

注意:在這裡不能交換忽略規則與追蹤規則額執行順序,因為若先執行追蹤規則(如!*[rr]elease/*.txt),接下來執行的忽略規則(如*[rr]elease/*)會忽略所有檔案,包括txt檔案!

若我們想要追蹤的txt檔案在*[rr]elease資料夾下名為files的資料夾內,上面的規則是錯誤的,因為執行的忽略規則的時候已經忽略了files資料夾,所以在後面直接新增追蹤命令(如!*[rr]elease/files/*.txt)是無效的,正確規則新增如下

*[rr]elease/*

!*[rr]elease/*.txt

!*[rr]elease/files/

*[rr]elease/files/*

!*[rr]elease/files/*.txt

*/bin/*[rr]elease/*

!*/bin/*[rr]elease/*.txt

!*/bin/*[rr]elease/files/

*/bin/*[rr]elease/files/*

!*/bin/*[rr]elease/files/*.txt

說明:

1. 執行*[rr]elease/*,忽略根目錄下符合條件的資料夾下的所有檔案

2. 執行!*[rr]elease/*.txt,追蹤根目錄下符合條件的資料夾下的txt檔案

3. 執行!*[rr]elease/files/,追蹤根目錄下符合條件的資料夾下的files資料夾

4. 執行*[rr]elease/files/*,忽略files資料夾下的所有檔案

5. 執行!*[rr]elease/files/*.txt,追蹤files資料夾下的txt檔案

參考鏈結

gitignore忽略檔案

在進行協作開發 管理的過程中,常常會遇到某些臨時檔案 配置檔案 或者生成檔案等,這些檔案由於不同的開發端會不一樣,如果使用git add 將所有檔案納入git庫中,那麼會出現頻繁的改動和push,這樣會引起開發上的不便。git可以很方便的幫助我們解決這個問題,那就是建立專案檔案過濾規則。git中提供...

gitignore忽略規則

指定過濾某種型別的檔案 1 zip 2 rar 3 via 4 tmp 5 err 指定過濾某個檔案 1 mtk do c2 mtk if.h 下面我們看看常用的規則 1 mtk 過濾整個資料夾 23 zip 過濾所有.zip檔案 45 mtk do.c 過濾某個具體檔案 gitignore還可以指...

gitignore設定git忽略特殊檔案

建立乙個檔案,檔名為 gitignore.注意前後都有乙個點。儲存之後系統會自動重新命名為 gitignore 或者用git bash建立 touch gitignore 在資料夾就生成了乙個 gitignore 檔案。以斜槓 開頭表示目錄 以星號 通配多個字元 以問號 通配單個字元 以方括號 包含...