为什么git仍然跟踪已经添加到.gitignore文件的扩展名的文件

时间:2013-09-12 17:00:07

标签: git

我遇到 data.sqlite members / model.pyc 的问题。这就是我的.gitignore文件的外观。如果上述文件显示为已修改,则表示git仍在跟踪它们吗?之前没有跟踪过这些文件所以我不确定为什么它不会忽略这些文件......

*.py[cod]
*.sqlite
# C extensions
*.so
# Packages
*.egg
*.egg-info
dist
build
eggs
parts
bin
var
sdist
develop-eggs
.installed.cfg
lib
lib64
__pycache__
# Installer logs
pip-log.txt
# Unit test / coverage reports
.coverage
.tox
nosetests.xml
# Translations
*.mo
# Mr Developer
.mr.developer.cfg
.project
.pydevproject
*.log
*.pot
*.pyc
local_settings.py

3 个答案:

答案 0 :(得分:9)

如果文件已存在,则需要强制删除它:

git rm --cached foo.pyc

已经跟踪过的每个文件。承诺,推动和利润。该文件将被忽略,但在工作目录中。

答案 1 :(得分:1)

如果您希望git忽略对repo中文件的更改,您可以使用:

git update-index --assume-unchanged foo.pyc

这将使文件保留在工作目录以及存储库本身。

请注意,使用git rm --cached foo.pyc会将文件保留在工作目录中,但会将文件从存储库中删除。

答案 2 :(得分:0)

尝试从git cache

中删除这些文件
git rm --cached data.sqlite
git rm --cached members/model.pyc