第三方代码和Git

时间:2013-01-01 13:25:52

标签: objective-c git cocoa

在开发iOS应用程序时,我经常使用GitHub中的第三方代码和我自己创建的可重用类。我一直在做的是将源代码克隆到~/Documents中的某个特定文件夹中,在那里我保存了所有的库代码。然后我将源文件拖入Xcode项目并编写代码,使用本地Git存储库跟踪我自己的源代码中的更改。到目前为止一直很好,但我最近发现了一个严重的问题:我想切换回我的Xcode项目的旧版本,发现它不再编译,因为它使用了旧版本的第三方代码,而且没有任何地方我存储了它使用的版本!

这个问题通常如何解决?我简要介绍了Git子模块,但我不确定它是否正确。我还简要介绍了CocoaPods,但我是否也可以将它用于我自己创建的库?

1 个答案:

答案 0 :(得分:7)

它实际上是用git submodule解决的:我们的想法是为你需要的每个子模块引用一个完全提交,允许你回到历史记录中,然后找到您的项目编译所需的一致的提交然后 (更多this answer

但是,这确实需要对工作树结构稍作更改,因为每个子模块都将成为代表项目的父repo的子目录。

另请注意,它(git submodule)对依赖项非常有用。
CocoaPods更适用于构建您所依赖的二进制文件(二进制依赖项)。