不忽略 db.sqlite3 文件,即使我在 django 项目的 .gitignore 中指定
Posted
技术标签:
【中文标题】不忽略 db.sqlite3 文件,即使我在 django 项目的 .gitignore 中指定【英文标题】:Does not ignore db.sqlite3 file,even i specified in .gitignore in django project 【发布时间】:2020-06-18 00:55:25 【问题描述】:在我的 Django 项目中,我在 django 项目的根目录中也有 .gitignore 文件,但是当我触发 git status
或 git add .
时,它会将所有 __pycache__
db.sqlite3
添加到存储库中。我需要从我的项目中删除这两件事。请帮忙。!
我分别在我的两个
.gitignore
文件中尝试了*.sqlite3
、mom/*.sqlite3
、mom/db.sqlite3
和db.sqlite3
之类的所有内容。但是在任何目录中都不起作用。
这是我的主要 git 忽略文件 .gitignore
media
*.sqlite3
**/__pycache__/**
*.pyc
这是我的另一个 git 忽略文件 .gitignore
media
db.sqlite3
**/__pycache__/**
*.pyc
我也从在线资源中尝试了很多可能性,但没有任何效果
文件结构
MOM-PROJECT(local Repo)
|
├───MOM (main project)
| ├───media
| │ └───media
| ├───MOM
| │ ├───migrations
| │ └───templatetags
| ├───userprofile
| │ └───migrations
| │ └───__pycache__
| ├───templates
| │ ├───MOM
| │ ├───userprofile
| │ └───base.html
| ├───manage.py
| ├───requirements.txt
| ├───db.sqlite3
| └───.gitignore [another created after main]
|
├───README.md
├───.git
└───.gitignore [Main]
列出 git add 命令的添加文件
modified: .gitignore
new file: mom/.gitignore
new file: mom/db.sqlite3
modified: mom/meeting/admin.py
modified: mom/meeting/views.py
modified: mom/static/js/meetingtext.js
...
嗯,实际上我首先在 main 文件夹中创建了 .gitignore
文件,其中 .git
文件夹 (in project
) 存在。我的媒体文件夹自动删除,效果很好。但是当我在主.gitignore
中添加mom/db.sqlite3
或*.sqlite3
时,它并没有忽略,因此我在我的项目文件夹中创建了 another .gitignore
文件,其中存在db.sqlite3
。但这也不能忽略我的db.sqlite3
文件
请建议我需要做什么。请不要建议我使用 Smart-Git 或任何其他 GUI 选项。现在我正在学习阶段,所以我需要命令行上的所有东西
【问题讨论】:
对于列为new file
的那些,运行git rm --cached
将它们从索引中删除——你已经将它们添加到索引中(虽然还没有提交,幸运的是),所以现在把名字进入.gitignore
不会再次退出。
【参考方案1】:
我有同样的问题,但发现我的问题是我在之前的提交中已经跟踪并提交了 db.sqlite3 文件,这使得当我后来将它添加到 .gitignore 时,git 无法忽略它。
我认为这不是您的情况,但也许它可以为您提供一些解决方案的提示。
在不删除我使用的本地文件的情况下取消跟踪文件:
git rm -r --cached db.sqlite3
在此之后,.gitignore 正在按预期工作。
【讨论】:
【参考方案2】:删除 *s。
如果你特别想忽略 pycache 和 db.sqlite3 文件, 只需添加
__pycache__/
db.sqlite3
到您的 .gitignore 文件。或者搜索 django .gitignore
文件并从那里采样。
如果您想深入了解 gitignore 文件,请查看 https://git-scm.com/docs/gitignore
【讨论】:
感谢您的回答,直到它添加了我在我的问题中给出的 db.sqlite3 才能工作,请参阅..以上是关于不忽略 db.sqlite3 文件,即使我在 django 项目的 .gitignore 中指定的主要内容,如果未能解决你的问题,请参考以下文章