使用单个git存储库管理项目和由此项目构成的动态框架

时间:2016-08-26 12:26:22

标签: ios xcode git

我在git存储库中使用git管理了一个ios独立项目 使用此代码,我正在创建一个ios动态库,它将从独立代码中稍作修改,使其作为库工作。

现在我必须管理两个不同的代码库,每当我在独立项目中进行更改时,有时我会错过动态库中的更改。

是否可以从公共存储库管理独立项目和动态库中的公共代码,或者执行此操作的正确方法是什么?

我需要单独维护独立项目,因为我无法像独立项目那样轻松地运行和调试框架。

1 个答案:

答案 0 :(得分:5)

如果独立项目可以存在于动态库项目的子文件夹中,那么您可以使用 git submodule 将第一个项目的SHA1引用到第二个项目中。

git submodule add git@github.com:AFNetworking/AFNetworking.git Vendor/AFNetworking

每次修改该子文件夹中的任何内容时,您可以像往常一样提交和推送,但也可以返回主项目(动态项目),添加,提交和推送以记录子模块的新SHA1。

另一种方法是使用 subtree (作为illustrated here,请参阅tutorial)。

git subtree add --prefix=Vendor/AFNetworking --squash git@github.com:AFNetworking/AFNetworking.git master

我更喜欢第一种方法,但您可以在IOS project in this article

的上下文中看到它们