我有两个项目和一个框架。我的框架现在在 bitbucket 上。我的框架处于开发模式。我每天都承诺和推动。
我也将使用 bitbucket 来控制这两个项目。我已经有 3 个回购
fw prjA prjB
prjA 和 prjB 的每个 repo 都会有一个 fw 的副本。我如何为每个项目设置可以提取新版本的框架并单独提交?
我有两个项目和一个框架。我的框架现在在 bitbucket 上。我的框架处于开发模式。我每天都承诺和推动。
我也将使用 bitbucket 来控制这两个项目。我已经有 3 个回购
fw prjA prjB
prjA 和 prjB 的每个 repo 都会有一个 fw 的副本。我如何为每个项目设置可以提取新版本的框架并单独提交?
您可以将您的框架项目设置为您的prja
和prjb
项目中的子模块。
来自git 书:
Git 的子模块支持允许存储库作为子目录包含外部项目的签出。
从根目录中prja
,prjb
只需执行以下操作:
git submodule add git://path/to/your/fw.git path/to/fw
第一个路径是您的fw
git 存储库所在的位置,第二个路径是您希望fw
在使用它的项目中进入的位置。
来自Pro Git 书籍的更多信息:
经常发生的情况是,在处理一个项目时,您需要使用其中的另一个项目。也许它是第三方开发的库,或者您正在单独开发并在多个父项目中使用。在这些场景中会出现一个常见问题:您希望能够将两个项目视为独立的,但仍然能够在另一个项目中使用其中一个。[...] Git 使用子模块解决了这个问题。子模块允许您将 Git 存储库保留为另一个 Git 存储库的子目录。这使您可以将另一个存储库克隆到您的项目中并保持您的提交分开。
您不需要 3 个存储库。我认为prjA
并且prjB
只是为了测试你的框架。您可以尝试创建 2 个单独的分支,一个用于 prjA,一个用于 prjB。让框架成为你的master
分支。如果您愿意,您可以在本地维护同一个 repo 的 3 个副本(用于 prjA、prjB 和 fw 开发)。任何时候你提交到你的master
分支,你都可以rebase prjA and prjB
.