Git 子模块 vs Git 子树 vs 依赖管理器 CocoaPods

Git submodule vs Git subtree vs dependency manager CocoaPods

我有两个 apps/projects - 一个给客户,一个给员工。这两个项目具有相同的后端 API 相关代码、相同的业务级对象、相同的自定义 GUI 控件和一些功能。我想用共享的代码替换相同的代码。例如将此代码移动到单独的 repo。

由于两个项目都在开发中,所有内容(包括共享代码)都会经常更改。共享代码通常会作为这两个项目之一的一部分进行更新。

如果我需要一种简单的方式来频繁更新代码,那么在两个项目之间共享代码的最佳方式是什么?

我的理想用例如下:

  1. 我更改了客户项目(客户和共享代码)。
  2. 我提交新的更改并将其推送到客户存储库和共享代码存储库。
  3. 我打开工作项目,拉取共享代码,然后在需要反映共享代码更改时更新工作代码。

P.S。问题 and GIT Nested repositories: Composer vs. SubModules vs. Subtree vs.? 有很好的答案,但是如果我需要一个简单的方法来频繁更新共享代码,我仍然不清楚我应该选择什么。

我个人会使用 git 子模块,它非常适合 link 共享代码库,它本身就是一个 git 存储库,可以单独管理而无需在您的网站中进行跟踪其他项目。

您可以在客户端和工作端使用 git submodule foreach git pull origin master 在共享库更新时引入更改。