也许我在想一个糟糕的工作流程,但是我们走了。我有一个项目,我想用作其他项目的基础,因为它们都保持相同的结构并共享公共类。这样的基础项目存储在自己的Git存储库中(我们称之为 MyBaseRepo ),其中存在两个分支:
我想做的是以下内容:
简而言之,我想实现某种“存储库继承”,这样当基类更改时,子项目就可以获得更新。
到目前为止,我几乎可以通过在需要时获取 MyBaseRepo ,然后将相应的 MyBaseRepo / branch 与 MyNewProject master(或者无论 MyNewProject 分支)。这是正确的做法,还是让我的生活变得更加复杂?提前感谢您的答案。
答案 0 :(得分:0)
我认为你描述问题的方式(除了两个分支部分),你可以使用git submodules。有了它,项目的每个修订版都将绑定到子模块的特定修订版。
如果你真的需要MyBaseRepo
的那两个分支,我会这样做:
$ git init
提交初始化master
将远程MyBaseRepo添加到新的repo:
$ git remote add MyBaseRepo the_repo_location
$ git fetch MyBaseRepo
$ git merge MyBaseRepo/master
或
$ git merge MyBaseRepo/mybranch
。
但我会选择子模块。这是一个“更清洁”的解决方案 - 您只需要更新子模块,而不是从远程分支合并。