注意:立即查看编辑部分以获得更好的解释
我是使用GIT的新手,所以如果我不使用正确的术语(仍在学习),我会提前道歉。
我正在使用BitBucket,因为现在我只想要私人项目。
我想知道执行以下操作的最佳策略是什么:
我有一个适用于 Android 的Phonegap/Cordova应用程序(所以它主要是 HTML+JS)。现在,我想使用该项目来创建一个 iOS 应用程序。大多数代码都是一样的,但是我需要在代码中更改特定于平台的内容,以使其适用于 iOS。
我的想法是能够:
创建 Android 版本的“分支”(或分支?),我可以在其中编辑 iOS 所需的任何内容。这个分支永远不会合并回 Android 版本。
每当我更新 Android 版本时,都能够将这些东西合并到 iOS 分支中。
这样我就可以始终将 Android 版本用作“主”,应用任何错误修复、新功能等,然后“自动将这些应用到 iOS 版本,同时保持其自己平台特定的代码行不变。
所以我不确定我到底需要如何在概念上设置并在这个项目中使用 GIT,这样我就可以将这些分支分开,因为我一直在关注的所有分支似乎最终都是通过合并那些入主,这正是我不想做的。
当然我可以手动完成所有这些,但是如果我可以用它来学习 GIT,那将是一个很好的方法,而且很有用!
提前致谢!
-------> 编辑
我收到的答案是很棒的想法,但我认为我没有很好地解释自己,所以我会尝试使用另一个例子。原因是我认为我的想法可以用于许多其他项目,而不仅仅是我上面解释的那个,所以我真的很想知道它是否可能以及如何实现。
这是另一个例子:
让我们想想 AOSP(Android 开源项目)和数百名开发人员创建的所有自定义 ROM。他们都使用相同的源(AOSP 或它的变体),克隆它,并将他们的自定义修改添加到他们自己的存储库中的操作系统。然后,只要 AOSP 源中有更新,他们只需要“更新”他们的克隆,但保留他们已经实现的任何内容。
按照与我的第一个示例的类比,我的 Android 应用程序将是 AOSP 源代码,而我的 iOS 应用程序将是克隆。
所以也许我应该以某种方式使用 2 个存储库?还是分支/叉子?这是让我困惑的部分...