我知道这是完全可能的,而且很多人已经这样做了,但我的问题略有不同,我还无法找到解决方案:
让第 3 方 Django 应用程序的结构如下:
- django 模块
- 模块
- init.py
- views.py
- 模型.py
- 需求.txt
- 设置.py
- 模块
我只想将 module
目录捆绑为子模块,因为这样我只需输入“module.views”即可访问views.py 文件。如果我导入 django-module 目录,我必须编写 django-module.module.views 来访问模块文件,这是不可行的。
我的目的是修改模块并偶尔向原始存储库发出 pull 请求。是否有我可以遵循的工作流程,或者为此目的的最佳实践是什么?
最佳答案
点提示
Pip 支持editable packages和 retrieving packages with git ,这样您就可以创建一个 virtualenv,使用 pip 安装软件包,并在需要时使用 pip 更新它们。
所以你可以添加:
-e git://git.myproject.org/MyProject.git@da39a3ee5e6b4b0d3255bfef95601890afd80709#egg=MyProject
到您的 requirements.txt
以检索确切的提交。
建议的工作流程
我认为解决您的问题的最佳方法如下:
- 创建一个包的私有(private)分支
- 编辑 fork 存储库中特定开发分支中的包
在需求文件中使用来自分支开发分支的包。
如果您愿意,可以使用 pip 更新您使用它的 fork 包。
- 当您准备好发出 pull 请求时,请 pull origin,将您的工作分支重新设置为 origin/master,然后从分支的 master 分支发出 pull 请求。
这意味着代码存在于三个位置:
- 原始存储库(您无权访问)
- 您的 fork 存储库(您在 fork 上工作的位置)
- 无论 pip 安装在哪里(您使用 fork 的地方)
关于django - 将第 3 方 Django 应用程序维护为 Git 子模块,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13179778/