我有一个cakephp项目。让我们称之为超级项目。
它有自己的github存储库。
超级有从这个存储库中提取的 git 子模块。 https://github.com/predominant/TwigView
问题是我需要有自己的项目特定扩展名,所以我需要在 https://github.com/predominant/TwigView 的 Lib 文件夹中创建新文件,并且我需要在文件视图中添加require_once语句.php https://github.com/predominant/TwigView
我想尽可能多地维护 git 子模块。
我知道我可以分叉 https://github.com/predominant/TwigView 并添加特定于项目的扩展文件和更改。
然后,Super将把这个分叉版本作为git子模块。
但是,我对此并不满意,因为这意味着
- 从上游更新分叉版本稍微困难一些
- 我需要为每个项目有 1 个分叉版本。
Project Super 和其他 cakephp 项目中将 https://github.com/predominant/TwigView 用作 git 子模块的最干净、最易于维护的方式是什么?
- 不,更新分叉项目应该要困难得多。
如果只是将上游(原始TwigView
存储库)添加为远程,则可以将任何更改从上游拉取到本地子模块,然后推送回分支。
(如"为分叉的 Github 存储库提取新更新"中所述)
当然,它稍微困难一些,但这是推荐的工作流程。 - 为什么每个存储库一个分叉?
分叉背后的想法是获得发布权限(您可以推送到分叉,因为您拥有它)。
为什么不在唯一的TwigView
分叉中推送到每个项目的分支?