2011-09-27 88 views
0

我在Xcode 4中有一个iOS项目,即使用Git。现在我想将MKStoreKit框架添加到我的项目中。它已经在使用Git和公共回购的版本控制之下。我希望将它包含在我的项目中,并允许我的项目的git版本控制对当前已提取的MKStoreKit版本进行版本控制,同时保持使用标准git轻松克隆任何更新的MKStoreKit代码的能力。我发现git子模块或子树可能是我需要的,但它看起来像一个真正的PITA。有没有更简单的方法?Xcode 4中本地git项目框架的Git回购

到目前为止,我添加到我的项目的任何外部代码克隆到临时目录,然后将单个文件复制到我的项目。这感觉就像是一种行事方式。

回答

1

查看Git书的submodules部分。他们并不是那么糟糕。

如果你有一个Git仓库,并要添加另一个仓库作为一个子目录,你可以这样做:

git submodule add git://github.com/MugunthKumar/MKStoreKit.git mstorekit 

现在,你有你的项目中的目录“mstorekit”,实际上是MStoreKit库。如果有人克隆您的存储库,他们将从一个空的“mstorekit”目录开始。运行:

git submodule init 
git submodule update 

将克隆MStoreKit存储库。他们将最终与MStoreKit存储库的HEAD进行同样的提交,并将其签入您的存储库。

更新MStoreKit应该是这样的:

cd mstorekit 
git pull origin master 
cd .. 
git ci -m 'updated mstorekit to latest version' 

有一些替代品在那里,包括git-subtree,这是我看到最近提到在这里。我没有这方面的经验(但我已经很满意地使用子模块)。

+0

谢谢,那个解释是那么简单,然后我看到那里。 – jamone