是否可以添加到.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