更新 gitignore後忽略不起作用的解決辦法

2021-09-02 13:01:12 字數 1109 閱讀 2422

首先,確保.gitignore忽略檔案沒有寫錯,不太懂.gitignore忽略檔案怎麼寫的,請參考:

github各種git忽略配置檔案

其次,修改.gitignore(這裡講的是.gitignore是在建立專案時就建立過了,在原來的.gitignore進行修改或新增)後,不起作用的原因:

gitignore只能忽略那些原來沒有被 track 的檔案,如果某些檔案已經被納入了版本管理中,則修改 .gitignore 是無效的。

最後,原因知道了,解決辦法:

進入專案目錄,先把本地快取刪除,然後再提交。

git rm -r --cached . //刪除所有檔案快取

git add . //本地新增

git commit -m '這裡寫提交日誌' //本地提交

刪除指定檔案目錄的快取,比如說根目錄下有log目錄:

git rm --cached log/
注:

根目錄是指以 .gitignore所在目錄為根目錄

補充一下 .gitignore 的匹配規則:

#以此開頭的行為注釋行

.a #過濾所有 .a 結尾的檔案

/a/ #過濾根目錄下的 a 資料夾下的所有檔案

/a/do.c #過濾指定檔案 /a/do.c

!lib.a #從過濾的檔案中排除 lib.a

!/a/b #從過濾的檔案中排除 根目錄下a目錄下的b檔案

!.c #從過濾的檔案中排除所有.c檔案

/todo #僅僅過濾專案根目錄下的 todo 檔案,不包括subdir/todo

build/ #過濾 build/目錄下的所有檔案

doc/*.txt #過濾doc下所有txt檔案,但不包括子目錄下的txt檔案,如doc/server/arch.txt

git忽略規則 gitignore不生效解決方法

在git中如果想忽略掉某個檔案,不讓這個檔案提交到版本庫中,可以使用修改根目錄中 gitignore 檔案的方法 如無,則需自己手工建立此檔案 這個檔案每一行儲存了乙個匹配的規則例如 1 2 3 4 5 6 7 此為注釋 將被 git 忽略 a 忽略所有 a 結尾的檔案 lib.a 但 lib.a ...

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還可以指...