2016-08-20 87 views
1

我有一个需要使用库B和库C的项目A,它们都在git上。我想获取B和C的本地副本并进行一些自定义更改,但同时能够从他们的git存储库中更新B和C.具有多个外部库的项目结构

例如,我需要B的提交B1和C的提交C1并将其更改为在A中使用。稍后,我想要拉B和C,但进行我的更改(合并?)。我想保留A,B,C在同一个git仓库中。

我正在考虑使用git subtree,但似乎无法同时获得B1和C1。

有什么建议吗?

回答

0

使用子模块保持更精确的选项,您可以:

  • 叉B和C(为了得到你可以把回购回)
  • 将其添加为子模块到项目A(该参考的精确SHA1每个subrepos)

这意味着B和C是A内subrepos,并表现为任何其他git仓库:

  • 你可以修改它们,提交和推送(只要你添加,提交并推入A以便记录新的gitlink)
  • 你也可以添加一个“上游”远程URL,引用原B回购和C回购。这可以让你将自己的修改与上游/主机重新绑定或合并,同时考虑到原始的回购变化。
相关问题