Python 如何忽略迁移,但不忽略init.py?
我一直在想这个 请看这里: 我同意Robert L,它说我们不应该进行迁移 我的问题是: 1)如何忽略除迁移文件夹中的init.py文件之外的所有迁移? 2)如何删除已提交的迁移? 我希望避免开发者之间的任何冲突 应用程序结构示例:Python 如何忽略迁移,但不忽略init.py?,python,django,migration,Python,Django,Migration,我一直在想这个 请看这里: 我同意Robert L,它说我们不应该进行迁移 我的问题是: 1)如何忽略除迁移文件夹中的init.py文件之外的所有迁移? 2)如何删除已提交的迁移? 我希望避免开发者之间的任何冲突 应用程序结构示例: |_roles |__pycache__ |___init__.cpython-37.pyc |_admin.cpython-37.pyc |_forms.cpython-37.pyc |_models.cpython-3
|_roles
|__pycache__
|___init__.cpython-37.pyc
|_admin.cpython-37.pyc
|_forms.cpython-37.pyc
|_models.cpython-37.pyc
|_urls.cpython-37.pyc
|_views.cpython-37.pyc
|_migrations
|__pycache__
|___init__.cypthon-37.pyc
|___0001_initial.cpython-37.pyc
|___0002_auto_20200111_1307.cpython-37.pyc
|___0003_auto_20200111_1418.cpython-37.pyc
|__init_.py
|_0001_initial.py
|_0002_auto_20200111_1307.py
|_0003_auto_20200111_1418.py
|__init_.py
|_admin.py
|_apps.py
etc..
.gitignore:我在想:
*./migrations/
但这将排除整个文件夹。您可以使用
.gitignore
。带有bang(!)前缀的行不排除在gitignore之外
因此,您的.gitignore文件将类似于
_migrations/*
!_migrations/__init__.py
这将忽略\u迁移
中除\uuuu init\uuuuuuupy
之外的所有内容
要删除已提交的文件,可以使用带有--cached
标志的git rm
--cached
Use this option to unstage and remove paths only from the index. Working tree files, whether modified or not, will be left alone.
乙二醇
git-rm--cached\u migrations/0001\u initial.cpython-37.pyc
最后,我也不同意关于不提交迁移的说法。根据我的选择,提交它们正是您想要做的。它确保数据库实例在不同环境中保持一致。虽然Django中的许多迁移都是由代码生成的,但情况并非总是如此。您可能会发现手工编写的迁移最常见的地方是当有人进行了数据迁移时
简而言之,提交migration.py文件,但排除所有.pyc文件