我的.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 dir被推送,但我确实希望djo和static是这样。这是不可能的-我的gunicorn.sh文件一直在更改到本地机器的。我的错误在哪里?
发布于 2013-08-05 14:08:07
我从未见过有人将.gitignore文件放置在.git子目录中。据我所知,如果您希望将规则应用于整个存储库,那么它应该位于根中。
GitHub说:
请注意,您可以在任何子路径中创建一个.gitignore,以便在该路径上应用其规则。有时,空.gitignore文件用作空路径的占位符,例如强制git生成日志/路径供开发环境使用。
按照这个逻辑,所有这些规则都将从.git文件夹向下应用。我知道你想做什么,但我从来没见过那样做。
我会将.gitignore放在存储库的根中,并让它看起来如下所示:
www/analytics
venv/bin
venv/build
venv/include
venv/lib
venv/local
*.pyc我希望那样做是正确的。
此外,值得铭记的是:
请注意,git不会忽略在将规则添加到此文件以忽略该文件之前已经跟踪的文件。在这种情况下,必须不跟踪文件,通常使用git rm -缓存文件名。
如果您添加了那些您希望忽略的文件的旧版本,您可能需要这样做。
发布于 2013-08-05 14:11:33
也许可以尝试将.gitignore放在主项目的目录( .git目录所在的位置)中,并删除路径开头的"../“。
如果这无助于尝试添加
venv/bin/* 敬你的.gitignore。
https://stackoverflow.com/questions/18060089
复制相似问题