簡體   English   中英

父 gitignore 忽略任何子目錄 gitignore 文件

[英]Parent gitignore to ignore any subdirectory gitignore files

有沒有辦法通過.gitignore文件(或通過 git 版本控制的某種方式)忽略子目錄中.gitignore文件的影響? 特定用例是我將開源文件夾復制到我的 git 存儲庫中,這些開源文件夾有自己的.gitignore文件,我想忽略這些文件。 我不想 go 通過手動刪除它們的過程,因為每次我將最新的源文件夾帶過來時,我都必須記住/自動化/等。 刪除那些文件。 相反,我希望能夠擁有如下文件夾結構:

file1.c
.gitignore
module1/
  src1.c
  .gitignore
  ...
module2/
  src2.c
  .gitignore
  ...

應用根.gitignore的地方,但忽略模塊文件夾中的所有.gitignore 如果他們致力於源代碼控制,這不是問題。 但目標是忽略整個目錄中那些.gitignore文件內容的影響。

您不能通過.gitignore文件執行此操作,因為它們具有層次結構/優先級系統,其中“內部” .gitignore覆蓋來自“外部” .gitignore的任何指令。 因此,即使您添加外部.gitignore否定:

!inner/foo

試圖阻止inner/.gitignore列出inner/foo ,它並沒有這樣做。

但是,您可以通過.git/info/excludes執行此操作,因為它比任何.gitignore具有更高的優先級。 .git/info/excludes文件永遠不會提交,因此您必須將數據存儲在其他地方(例如,在提交的文件中),然后將其復制到您創建的每個克隆中。

我不知道你真正的最終目標,但這聞起來像一個XY 問題

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM