我的.gitignore遇到问题。我有一个像这样的目录树:
/djangoproject
venv
bin
startgunicorn.sh
djo
www
static
analytics
.git
.gitignore
我的.gitignore读为:
../www/analytics
../venv/bin
../venv/build
../venv/include
../venv/lib
../venv/local
*.pyc
当我
git add ../*
或者 git add -A
git push
我不希望startgunicorn.sh
我的analytics
目录被推送,但我确实希望djo
并且被推送static
。那没有发生—我的gunicorn.sh文件不断更改为本地计算机的文件。我的错误在哪里?
我以前从未见过有人.gitignore
在.git
子目录中放置文件。据我所知,如果您希望将规则应用于整个存储库,则该目录应位于根目录中。
GitHub说以下内容:
请注意,您可以在任何子路径中创建.gitignore,以将其规则应用到该路径。有时,一个空的.gitignore文件用作空路径的占位符,例如,强制git生成供开发环境使用的日志/路径。
按照这种逻辑,所有这些规则都将从.git文件夹向下应用。我可以看到您正在尝试执行的操作,但是在此之前我从未见过它完成。
我将.gitignore放在存储库的根目录中,并使其看起来像这样:
www/analytics
venv/bin
venv/build
venv/include
venv/lib
venv/local
*.pyc
我希望那做正确的事。
此外,值得牢记以下几点:
请注意,git不会忽略在将规则添加到该文件之前已经跟踪的文件,以忽略该文件。在这种情况下,必须取消跟踪文件,通常使用git rm --cached filename
如果您已添加了希望忽略的那些文件的旧版本,则可能需要这样做。
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句