Python 使用git子模块开发django项目

Python 使用git子模块开发django项目,python,django,git,Python,Django,Git,我有一个DJango项目,它使用菜单作为应用程序的一部分 例如: MENU: CUSTOMER VENDOR EMPLOYEE 我希望每个区域都分配给一个开发人员进行创建和修改:一个用于客户,一个用于供应商,一个用于员工 怎么能这样呢 我的想法是DJango项目如下: Main (which is the project) Main => CustomerApp => VendorApp => EmployeeApp Main将被分配到Git存储库 Cus

我有一个DJango项目,它使用菜单作为应用程序的一部分

例如:

MENU:  CUSTOMER   VENDOR   EMPLOYEE
我希望每个区域都分配给一个开发人员进行创建和修改:一个用于客户,一个用于供应商,一个用于员工

怎么能这样呢

我的想法是DJango项目如下:

Main (which is the project)

Main

=> CustomerApp

=> VendorApp

=> EmployeeApp
Main将被分配到Git存储库

CustomerApp、VendorApp和EmployeeApp将分配给Git子模块

在CustomerApp上工作的人员将~仅~有权访问CustomerApp(而不是其他区域:EmployeeApp、VendorApp)

一个开发人员不能“踩到”或“看到”另一个开发人员的工作

这是一种有效的方法吗


TIA

我强烈建议避免使用git子模块。它们只会让开发人员的生活更加困难

虽然您的开发人员可能最终会互相攻击代码,但这正是git应该提供帮助的。它使解决冲突变得更容易

话虽如此,在一个git回购中拥有多个应用程序也有助于避免这种情况

我会质疑开发人员是否需要彼此隔离——能够看到彼此的代码有助于他们相互学习。我鼓励它,而不是试图阻止它

将git与pull请求一起使用,开发人员就可以互相检查代码,从而提高总体质量。这也有助于避免开发人员在编写代码时互相攻击


我也会对子模块保持警惕,因为它们不同步。因此,当您的开发人员进行更改时,您或负责维护和发布主要git repo的任何人都需要确保手动将所有新更改拉入主要repo。因此,遗忘的空间很大。

这是否是一种“有效”的方法并不是真正的问题,我想,你可以做到。问题是:你应该这样做吗?是否保证供应商和客户永远不会交互(即,一个应用程序中的模型不需要引用另一个应用程序中的模型)?我曾经参与过一个库存项目,使用库存应用程序和其他订购应用程序等。显然,订购应用程序需要参考库存应用程序中的模型,以便您知道首先可以订购什么。你应该考虑这些情况。“雷-谢谢你的回应。> >“显然,订购应用程序需要参考库存应用程序中的模型,以便您知道首先可以订购什么。”-是的,为了实现这一点,建议有一个所有冷访问的“模型”目录。在“models”目录中,每个“app”都有一个子目录。示例目录:“db models/app1/models.py”、“dbmodels/app2/models.py”等。所有目录都可以访问“dbmodels”目录(该目录还应该有一个子模块与之关联)@ray——负责该子模块的人将拥有DB设计经验,并且基本上会充当DB建模师/管理员。我曾经考虑过在项目中使用git子模块,但我并没有必要证明增加的复杂性。我建议读一下ProGit的那一节。它不仅可以让您更好地了解如何使用子模块,还可以让您更好地了解在您的案例中使用它们是否是一个好主意。我没有你掌握的所有信息,你有更好的决定权。因此,我的建议是,你要很好地处理权衡问题,以及它是否对你有帮助。@ray-谢谢你提供的信息。谢谢你的回复。“将git与pull请求一起使用,开发人员可以审查彼此的代码,从而提高总体质量。这也有助于避免开发人员踩到彼此的代码。”-明白。我记得在一个职位工作的时候。我不允许询问同事(或与他们讨论)与工作相关的事项。相反,我被要求只与领导讨论问题。此人提到,这是他们评估我能力/背景的方式。他们将这一理念扩展到了这种情况。将从不同的软件公司招聘开发人员。为了评估上述开发人员的能力,我们的想法是将代码从每个开发人员中分离出来。产生更“负责任”代码的开发公司将获得额外的工作。