Git 策略 - 掌握 xcode 项目到不同的项目
Git strategies - master xcode project to different projects
我想知道如果您要从主项目构建不同的 xcode 项目,最好的 Git 策略是什么。所以他们使用相同的核心 类 但可能有不同的资产和不同的观点?任何重大更改总是 committed/merged 回到主项目中。
我是否创建新的 xcode 项目然后检查基础 类,包括 AppDelegate,创建分支或克隆?
还有其他策略吗?我想要进行的部分工作是将这个主项目的主要部分创建为 SDK,因此任何关于这一点的想法都会受到赞赏。
您可能想使用 submodules,这样您就可以将通用代码保存在 git 存储库中,该存储库可以合并到其他存储库中。顶级存储库不会跟踪子模块中的单个文件,它会将整个子模块视为一个文件,并且只会跟踪提交 HEAD
指向子模块中的哪个提交。
编辑(根据您的评论):我想您已经有一个包含 "regular" 项目和公共代码的 git 存储库。我建议执行以下步骤:
- 将公用文件移动到单独的目录(使用您希望公用文件具有的任何嵌套目录结构)。提交这个。
- 从 "regular"(此后称为 "top-level")git 存储库中删除该目录中的文件,但不删除它们:
git rm --cached -r commonDirectory
cd commonDirectory
和 git init .
- 从顶级仓库复制
.gitignore
(如果有的话),然后将 commonDirectory
中所有未忽略的文件添加并提交到新仓库。您现在有一个 git 存储库位于另一个存储库中,但它还不是子模块。
cd
到顶级存储库 运行 git submodule add commonDirectory
,然后提交(连同删除 commonDirectory
中的所有文件)。
- 将您的子模块仓库作为新仓库推送到您正在使用的 git 服务器。
请注意,有一些与克隆包含子模块的存储库相关的微妙之处。
我想知道如果您要从主项目构建不同的 xcode 项目,最好的 Git 策略是什么。所以他们使用相同的核心 类 但可能有不同的资产和不同的观点?任何重大更改总是 committed/merged 回到主项目中。
我是否创建新的 xcode 项目然后检查基础 类,包括 AppDelegate,创建分支或克隆?
还有其他策略吗?我想要进行的部分工作是将这个主项目的主要部分创建为 SDK,因此任何关于这一点的想法都会受到赞赏。
您可能想使用 submodules,这样您就可以将通用代码保存在 git 存储库中,该存储库可以合并到其他存储库中。顶级存储库不会跟踪子模块中的单个文件,它会将整个子模块视为一个文件,并且只会跟踪提交 HEAD
指向子模块中的哪个提交。
编辑(根据您的评论):我想您已经有一个包含 "regular" 项目和公共代码的 git 存储库。我建议执行以下步骤:
- 将公用文件移动到单独的目录(使用您希望公用文件具有的任何嵌套目录结构)。提交这个。
- 从 "regular"(此后称为 "top-level")git 存储库中删除该目录中的文件,但不删除它们:
git rm --cached -r commonDirectory
cd commonDirectory
和git init .
- 从顶级仓库复制
.gitignore
(如果有的话),然后将commonDirectory
中所有未忽略的文件添加并提交到新仓库。您现在有一个 git 存储库位于另一个存储库中,但它还不是子模块。 cd
到顶级存储库 运行git submodule add commonDirectory
,然后提交(连同删除commonDirectory
中的所有文件)。- 将您的子模块仓库作为新仓库推送到您正在使用的 git 服务器。
请注意,有一些与克隆包含子模块的存储库相关的微妙之处。