许多供应商的Objective-C库(例如
为解决此问题,我想将每个供应商库作为我的项目存储库的Git子模块添加,并添加一些额外的设置(比如在
facebook-ios-sdk
)会指示您将其存储库的某个子集的文件/目录复制到您的Xcode项目中。其中一个问题是,您不知道供应商代码的哪个版本。另一个问题是,如果您更改供应商代码,则不容易通过Git共享您的更改。为解决此问题,我想将每个供应商库作为我的项目存储库的Git子模块添加,并添加一些额外的设置(比如在
.gitmodules
文件中)。这样,如果另一个人克隆我的项目并执行git submodule update --init
,他们的存储库和子模块将具有与我的相同的状态,因为他们将使用我设置的相同默认设置:
- 稀疏检出:仅检出子模块的某些文件。
- 浅克隆:只克隆子模块的某个SHA1。
git submodule
现在可以执行自定义更新:请参见我的下面的答案。 - VonC