git提交忽略規則不生效

2021-10-05 13:45:12 字數 2002 閱讀 3533

在使用git的過程中,我們喜歡有的檔案比如日誌,臨時檔案,編譯的中間檔案等不要提交到**倉庫,這時就要設定相應的忽略規則,來忽略這些檔案的提交。

在git專案中定義 .gitignore 檔案

這種方式通過在專案的某個資料夾下定義 .gitignore 檔案,在該檔案中定義相應的忽略規則,來管理當前資料夾下的檔案的git提交行為。

.gitignore 檔案是可以提交到公有倉庫中,這就為該專案下的所有開發者都共享一套定義好的忽略規則。

在 .gitingore 檔案中,遵循相應的語法,在每一行指定乙個忽略規則。如:

詳細的忽略規則可以參考官方英文參考

從命令列中讀取可用的忽略規則

當前目錄定義的規則

父級目錄定義的規則,依次遞推

$git_dir/info/exclude 檔案中定義的規則

core.excludesfile中定義的全域性規則

在 .gitignore 檔案中,每一行的忽略規則的語法如下:

空格不匹配任意檔案,可作為分隔符,可用反斜槓轉義

#開頭的檔案標識注釋,可以使用反斜槓進行轉義

! 開頭的模式標識否定,該檔案將會再次被包含,**如果排除了該檔案的父級目錄,則使用 ! 也不會再次被包含。**可以使用反斜槓進行轉義

/ 結束的模式只匹配資料夾以及在該資料夾路徑下的內容,但是不匹配該檔案

/ 開始的模式匹配專案跟目錄

如果乙個模式不包含斜槓,則它匹配相對於當前 .gitignore 檔案路徑的內容,如果該模式不在 .gitignore 檔案中,則相對於專案根目錄

** 匹配多級目錄,可在開始,中間,結束

? 通用匹配單個字元

通用匹配單個字元列表

1.bin/: 忽略當前路徑下的bin資料夾,該資料夾下的所有內容都會被忽略,不忽略 bin 檔案

2./bin: 忽略根目錄下的bin檔案

3./.c: 忽略 cat.c,不忽略 build/cat.c

4..log: 忽略所有 .log 檔案

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

解決方法就是先把本地快取刪除(改變成未track狀態),然後再提交:

git rm -rf --cached .

git add .

git commit -m "update .gitignore"

感謝閱讀

Git 忽略規則 gitignore生效

git中如果忽略掉某個檔案,不讓這個檔案提交到版本庫中,可以使用修改根目錄中 gitignore 檔案的方法,如下這個檔案每一行儲存了乙個匹配的規則例如,忽略單個檔案或者整個目錄的檔案 12 3 css 忽略所有css檔案 index.css indes.css檔案可以提交 cache 忽略publ...

gitignore 規則不生效

問題 配置了 gitignore 檔案,但在 git add 的時候沒有忽略掉。有兩種可能 gitignore 檔案配置有問題,比如我碰到過一次這個問題 我在 windows 系統下的 idea 中使用了 add to gitignore 這個外掛程式去新增需要被 ignore 的資料夾時候,它會在...

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

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