Git忽略提交的3種方法及Git忽略規則

2022-09-27 04:54:12 字數 2107 閱讀 5689

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

git www.cppcns.com忽略檔案提交的方法

有三種方法可以實現忽略git中不想提交的檔案。

1、在git專案中定義 .gitignore 檔案

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

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

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

*.log

*.temp

/vendor2\

2、在git專案的設定中指定排除檔案

這種方式只是臨時指定該項目的行www.cppcns.com為,需要編輯當前專案下的 .git/info/exclude 檔案,然後將需要忽略提交的檔案寫入其中。

需要注意的是,這種方式指定的忽略檔案的根目錄是專案根目錄。

3、定義git全域性的 .gitignore 檔案

除了可以在專案中定義 .gitignore 檔案外,還可以設定全域性的 git .gitignore 檔案來管理所有git專案的行為。這種方式在不同的專案開發者之間是不共享的,是屬於專案之上git應用級別的行為。

這種方式也需要建立相應的 .gitignore 檔案,可以放在任意位置。然後在使用以下命令配置git:

git config --global core.excludesfile ~/.gitignore

git忽略規則

git忽略規則優先順序

在 .gitingore 檔案中,每一行指定乙個忽略frdszqgfsb規則,git 檢查忽略規則的時候有多個**,它的優先順序如下(由高到低):

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

當前目錄定義的規則

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

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

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

git 忽略規則匹配語法

.gitignore檔案中的忽略規則

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

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

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

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

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

/開始的模式匹配專案跟程式設計客棧目錄

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

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

?通用匹配單個字元

通用匹配單個字元列表

常用匹配示例:

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

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

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

debug/*.obj: 忽略 debug/io.obj,不忽略 debug/common/io.obj 和 tool

**/foo: 忽略/foo, a/foo, a/b/foo等

a/**/b: 忽略a/b, a/x/b, a/x/y/b等

!/bin/run.sh: 不忽略 bin 目錄下的 run.sh 檔案

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

config.php: 忽略當前路徑的 config.php 檔案

.gitignore規則不生效

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

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

git rm -r --cached .

git add .

git commit -m 'update .gitignore'

git 忽略不提交的檔案3種方式

從未提交過的檔案,從來沒有被 git 記錄過的檔案,也就是新增之後從來沒有提交 commit 過的檔案,可以使用.gitignore忽略該檔案。只能作用於未跟蹤的檔案 untracked files 例如 gitignore ds store node modules dist npm debug....

git 忽略而不提交的3種情形

可以用.gitignore 也就是新增之後從來沒有提交 commit 過的檔案,可以使用.gitignore忽略該檔案 該檔案只能作用於未跟蹤的檔案 untracked files 也就是那些從來沒有被 git 記錄過的檔案 比如,忽略log 下的日誌檔案,可以在.gitignore中寫 log 例...

git忽略而不提交檔案的3種情形

1 從未提交過的檔案可以用.gitignore 也就是新增之後從來沒有提交 commit 過的檔案,可以使用.gitignore忽略該檔案 該檔案只能作用於未跟蹤的檔案 untracked files 也就是那些從來沒有被 git 記錄過的檔案 比如,忽略log 下的日誌檔案,可以在.gitigno...