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

4

我遇到了关于 data.sqlitemembers/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个回答

9
如果文件已经存在,您需要强制删除它:
git rm --cached foo.pyc

对于已经被跟踪的每个文件,进行提交、推送和受益。该文件将保持被忽略状态,但仍然存在于工作目录中。

这样做对于 data.sqlite 数据库也安全吗? - BluePython

1
如果您想让 Git 忽略仓库中某个文件的更改,可以使用以下命令:
git update-index --assume-unchanged foo.pyc

这将使文件保留在工作目录和代码库中。
请注意,使用git rm --cached foo.pyc将使文件保留在工作目录中,但是会将文件标记为要从代码库中删除。

0
尝试从 Git 缓存中删除那些文件
git rm --cached data.sqlite
git rm --cached members/model.pyc

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接