Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/358.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 如何忽略迁移,但不忽略init.py?_Python_Django_Migration - Fatal编程技术网

Python 如何忽略迁移,但不忽略init.py?

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

我一直在想这个

请看这里:

我同意Robert L,它说我们不应该进行迁移

我的问题是:

1)如何忽略除迁移文件夹中的init.py文件之外的所有迁移?

2)如何删除已提交的迁移?

我希望避免开发者之间的任何冲突

应用程序结构示例:

|_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文件