Git策略 - 掌握不同项目的xcode项目

时间:2015-02-03 06:25:08

标签: git xcode6

我想知道如果你在主项目中构建不同的xcode项目,那么最好的Git策略是什么。所以他们使用相同的核心类,但可能是不同的资产,也许是不同的观点?任何重大更改总是提交/合并回主项目。

我是否创建新的xcode项目然后检查基类,包括AppDelegate,创建分支还是克隆?

还有其他策略吗?我想要去的地方的一部分是作为SDK创建这个主项目的主要部分,所以任何想到这一点的想法都会受到赞赏。

1 个答案:

答案 0 :(得分:1)

您可能希望使用submodules,这样您就可以将公共代码保存在可以合并到其他存储库的git存储库中。顶级存储库不会跟踪子模块中的单个文件,它会将整个子模块视为一个文件,并且只跟踪子模块中指向哪个提交HEAD

编辑(根据你的评论):我想你已经有一个包含“常规”项目和公共代码的git repo。我建议采取以下步骤:

  1. 将公共文件移动到单独的目录(使用您希望为公共文件设置的任何嵌套目录结构)。承诺这个。
  2. 从“常规”(以下称为“顶级”)git repo中删除该目录中的文件,而不删除它们:git rm --cached -r commonDirectory
  3. cd commonDirectorygit init .
  4. 如果您有顶级仓库,请从顶级仓库复制.gitignore,并将commonDirectory中所有未忽略的文件添加并提交到新仓库。你现在有一个git存储库存在于另一个存储库中,但它还不是一个子模块。
  5. cd进入顶级存储库,运行git submodule add commonDirectory并提交(同时删除commonDirectory中的所有文件)。
  6. 将您的子模块repo作为新的repo推送到您正在使用的任何git服务器。
  7. 请注意,克隆包含子模块的存储库存在一些细微之处。