是否可以添加到.gitignore規則取決於環境變量?是否有可能使.gitignore根據環境變量而改變
例如
if -e $(ENV_VAR) "AAA"
!liba.so
else
liba.so
基本上我想要的是有一個倉庫,使得本地資源庫將有a.txt
,如果ENV_VAR
沒有設置A.TXT將被刪除。
是否可以添加到.gitignore規則取決於環境變量?是否有可能使.gitignore根據環境變量而改變
例如
if -e $(ENV_VAR) "AAA"
!liba.so
else
liba.so
基本上我想要的是有一個倉庫,使得本地資源庫將有a.txt
,如果ENV_VAR
沒有設置A.TXT將被刪除。
答案是否定的。
Gitignore規則是完全靜態的。此外,這甚至沒有任何意義。一旦文件在回購站中,gitignore就不再適用 - 它只能阻止新增文件。
這就是說,你可以有一個本地「gitignore」:任何.git/info/exclude
也將被忽略。在我剛剛解釋的範圍內。
目前的答案是否定的。不過,我很樂意看到這樣做的方式。
我的用例很簡單;我想避免意外檢查我所做的更改,以便我可以調試我的代碼。
假設我對文件進行臨時更改,以便調試某些內容,但是我從不想檢查臨時更改。我想暫時將該文件添加到.gitignore作爲我的命令行會話,但我不想無意中檢查我對.gitignore的更改。
有能力export GITIGNORE=path/to/that/file
在這種情況下會有幫助。
@kjhughes我改變了我的答案以真正回答問題,然後修改了我的答案的其餘部分,以提供一個用例,在OP請求時它會有幫助 – JohnnyLambada
Skimming [gitignore的git文檔](https://www.kernel.org/pub/software/scm/git/docs/gitignore.html),簡短的回答可能是No. – 2013-07-14 16:10:13
爲什麼你想要以這種方式設置一個gitignore文件,你試圖解決什麼問題?也許有更好的解決方案。 – 2013-07-14 17:52:30
這一定會通過更多的上下文來改善。 – Chronial