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

Git strategies - master xcode project to different projects

我想知道如果您要从主项目构建不同的 xcode 项目,最好的 Git 策略是什么。所以他们使用相同的核心 类 但可能有不同的资产和不同的观点?任何重大更改总是 committed/merged 回到主项目中。

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

还有其他策略吗?我想要进行的部分工作是将这个主项目的主要部分创建为 SDK,因此任何关于这一点的想法都会受到赞赏。

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

编辑(根据您的评论):我想您已经有一个包含 "regular" 项目和公共代码的 git 存储库。我建议执行以下步骤:

  1. 将公用文件移动到单独的目录(使用您希望公用文件具有的任何嵌套目录结构)。提交这个。
  2. 从 "regular"(此后称为 "top-level")git 存储库中删除该目录中的文件,但不删除它们:git rm --cached -r commonDirectory
  3. cd commonDirectorygit init .
  4. 从顶级仓库复制 .gitignore(如果有的话),然后将 commonDirectory 中所有未忽略的文件添加并提交到新仓库。您现在有一个 git 存储库位于另一个存储库中,但它还不是子模块。
  5. cd 到顶级存储库 运行 git submodule add commonDirectory,然后提交(连同删除 commonDirectory 中的所有文件)。
  6. 将您的子模块仓库作为新仓库推送到您正在使用的 git 服务器。

请注意,有一些与克隆包含子模块的存储库相关的微妙之处。