如何在git子模块中包含我的项目特定文件?

时间:2012-04-17 03:51:35

标签: php git cakephp twig git-submodules

我有一个cakephp项目。我们称之为Project Super

它有自己的github回购。

超级有来自此回购的git子模块。 https://github.com/predominant/TwigView

问题是我需要拥有自己的项目特定扩展,所以我需要在https://github.com/predominant/TwigView的Lib文件夹中创建新文件,我需要在文件View / TwigView.php中添加require_once语句。 https://github.com/predominant/TwigView

我想尽可能多地维护git子模块。

我知道我可以分叉https://github.com/predominant/TwigView并添加项目特定的扩展文件和更改。

然后

超级将这个分叉版本作为git子模块。

但是,我对此并不满意,因为这意味着

  1. 从上游
  2. 更新分叉版本稍微困难一些
  3. 每个项目我需要有1个分叉版本。
  4. 在Project Super 和其他cakephp项目中使用https://github.com/predominant/TwigView作为git子模块的最简洁,易于维护的方法是什么?

1 个答案:

答案 0 :(得分:0)

  1. 不,更新分叉项目应该更加困难 如果您只是将上游(原始TwigView repo)添加为远程,您可以将任何更改从上游提取到本地子模块,然后推回到您的分支。
    (如“Pull new updates for forked Github repository”中所述) 当然,它稍微难点,但是推荐的工作流程。
  2. 为什么每个回购一个叉子?
    fork之后的想法是获得发布权限(你可以推送到fork,因为你拥有它) 为什么不在独特的TwigView fork中推送到每个项目的分支?