使用.gitignore

mh00h

我的.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] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章