1

想象一下计划为 iOS 和 Android 实现的移动应用程序。开发仅从 iOS 版本开始,现在是时候从 Android 版本开始了。iOS 应用程序的代码存储在其自己的 Git 存储库中,该存储库以应用程序名称命名,例如“MYApp”。现在我想为 iOS 和 Android 应用程序创建一个通用存储库,并在应用程序名称后重新命名:“MYApp”。

乍一看这不是问题。只需创建存储库,在那里创建 2 个子文件夹并开始工作。

但。我希望 Android 开发人员只能使用他的文件夹,而 iOS 开发人员也只能使用他的文件夹,并且他们都只能看到自己的文件夹相关历史记录(日志)。

我以前使用过 SVN。通常我创建了子文件夹,您可以签出其中的任何一个以仅使用此子文件夹。历史记录也被过滤到您的范围内。

我坚持在 Git 下实现相同的功能。请帮助我找到正确的方向。


我将总结建议的解决方案。

  1. 为不同的平台使用分支。我不认为这是个好主意,因为分支用于其他目的。在我看来,这很“杰克”。
  2. 使用子模块。只需创建与您的目标平台一样多的存储库,将它们命名为“MYApp-iOS”、“MyApp-Android”等,最后得到“主”存储库,可以命名为“MYApp”(没有任何后缀)。然后将所有相关的存储库添加到具有 git 子模块功能的“主”存储库中。
  3. 使用 git 从属。正在调查...

请随时编辑此列表以集思广益。

4

1 回答 1

1

有一种方法可以使用git branching在同一个 git 存储库中保留某种相关的单独项目。

但请记住,这不是在 git 中实现分支的原因。例如,它的用途之一是为您的应用程序开发一项全新的功能,该功能可能不会很快发布。

最后:这是一个见仁见智的问题。如果您准备管理一个更复杂的存储库,只是为了将两个代码保存在同一个地方 - 您可以。

不过,我肯定会创建两个单独的存储库。关于这个主题的一些意见也可以在这里找到:Git branch with fully different content

编辑:

gitslave似乎可以解决您的问题。你可能想试一试。

于 2013-11-10T14:47:24.607 回答