git 檔案忽略

2021-09-13 22:31:35 字數 2620 閱讀 4398

在使用git進行版本管理時,有一些不需要提交到版本庫里的檔案和資料夾,或者在管理乙個實際應用的開源專案的時候,不可以把帶有資料庫資訊的檔案上傳到開源平台當中,此時就需要讓git自動忽略掉一下檔案。檔案忽略有幾種方式:

沒有被track的檔案

我們需要在專案的根目錄當中建立.gitignore檔案。 .gitignore 的格式規範如下:

所謂的 glob 模式是指 shell 所使用的簡化了的正規表示式:

*星   匹配零個或多個任意字元;

?    只匹配乙個任意字元;

[abc] 匹配任何乙個列在方括號中的字元(這個例子要麼匹配乙個 a,要麼匹配乙個 b,要麼匹配乙個 c);

[0-9] 表示匹配所有 0 到 9 的數字;

*? 代表任意的乙個字元

** 代表任意數目的字元

* 必須不是此型別

* 代表ab,bb,cx中任一型別即可

*[ ^abc] 代表必須不是a,b,c中任一字元

由於git不會加入空目錄,所以下面做法會導致tmp不會存在

tmp/*             //忽略tmp資料夾所有檔案
改下方法,在tmp下也加乙個.gitignore,內容為

*

!.gitignore

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

另外 git 還提供了另一種 exclude 的方式來做同樣的事情。不同的是 .gitignore 這個檔案本身會提交到版本庫中去,用來儲存的是公共的需要排除的檔案。而 .git/info/exclude 這裡設定的則是你自己本地需要排除的檔案,不會提交到版本庫,只對本地副本有效, 他不會影響到其他人。

exclude 檔案所在位置.git/info/exclude , 每個專案下都有自己的exclude

vim .git/info/exclude

全域性ignore方法,唯一,本地所有git repo有效。~/.gitconfig/core.excludesfile

1.賬戶資料夾下新建乙個.gitignore_global檔案

2.直接修改.gitconfig的內容:

[core]

excludesfile = c:/users/你的賬戶資料夾/.gitignore_global

或者,在git的命令列裡輸入:

$ git config --global core.excludesfile ~/.gitignore_global
注意:exclude 忽略的也是未tract的檔案

檔案已被track,即遠端倉庫中已經包含或者已經commit/add了,這時再在.gitignore中新增規則忽略已經無法生效了,正確的做法是:

首先,刪除暫存區或分支上的檔案,`$ git rm --cached config.xml`

然後,更新.gitignore檔案忽略掉config.xml

最後,`$ git commit -m ""`

按照上面的方法,當你push之後,伺服器的config.xml檔案將被刪除。本地存在可使用, 只是檔案不被版本控制(如果沒有更新 .gitignore, 會提示有untrack檔案)。有一點需要注意的,git rm --cached 不會刪除本地的物理檔案;如果你真的是徹底不想要了,你也可以直接 rm+忽略+提交,即不要 --cached 引數。

只是想在本地忽略某檔案的修改,但是伺服器儲存乙份副本。正確的做法是在每個clone下來的倉庫中手動設定不要檢查特定檔案的更改情況。

對於所有協同開發人員以及任何新加入的開發人員執行:

$ git update-index --assume-unchanged file        在file處輸入要忽略的檔案. 假設未更改
檢視忽略的檔案列表

$ git ls-files -v|grep h\ //  \後面有空格
如果要還原的話,使用命令:

$ git update-index --no-assume-unchanged file

.gitignore 還有個有意思的小功能

乙個空的 .gitignore 檔案 可以當作是乙個 placeholder 。當你需要為專案建立乙個空的 log 目錄時, 這就變的很有用。 你可以建立乙個 log 目錄 在裡面放置乙個空的 .gitignore 檔案。這樣當你 clone 這個 repo 的時候 git 會自動的建立好乙個空的 log 目錄了。

Git 忽略檔案

有些檔案無需納入git版本庫,也不希望它們總出現未跟蹤檔案列表。通常都是些自動生成的檔案,像是日誌或者編譯過程中建立的等等。可以建立乙個名為.gitignore的檔案,列出要忽略的檔案模式。檔案.gitignore可以放在任何目錄中,它的作用範圍是其所處的目錄及其子目錄。忽略只對未跟蹤檔案有效,對於...

git 忽略檔案

git提供了檔案忽略系統,當對工作區某個目錄或檔案設定了忽略後,在執行status檢視狀態時,被忽略的檔案即使存在也不會顯示出來。這樣我就可以把那些不需要上傳,不需要保留的檔案或目錄忽略掉 比如一些動態生成的log,或者編譯出來的檔案等等 對於忽略檔案,git提供了3種方式 我們組的大神又告訴我了另...

git忽略檔案

如果在建立.gitignore檔案之前就已經add或者commit了,那麼即使在.gitignore檔案中寫入新的規則,這些規則也不會起作用。因為.gitignore檔案只能作用於未被跟蹤的檔案 untracked files 也就是那些從來沒有被git記錄過的檔案 自新增以後,從未 add 及 c...