注git的策略:见部分编辑马上为一个更好的解释与2个分支项目,不应该合并
我是新来使用GIT所以我提前道歉,如果我不”不要使用正确的术语(仍在学习)。
我正在使用BitBucket因为现在我只想要私人项目。
我想知道什么是做到以下几点,最好的策略:
我有一个的PhoneGap /科尔多瓦应用程序(所以它主要是HTML + JS)为Android。现在,我想使用该项目来创建一个iOS应用程序。大部分代码都是相同的,但是会有特定于平台的事情,我需要在代码中进行更改以使其适用于iOS。
我的想法是将能够:
做一个“分支”(或叉?)的Android版本在那里我可以编辑任何必要的iOS。这brach永远不会合并回到Android版本。
每当我更新Android版本时,能够将这些东西合并到iOS分支中。
这样,我可以随时使用的Android版本为“主”,适用于任何bug修复,新功能等,然后在“自动套用那些iOS版本,同时保持自己的平台特定的行代码原封不动
所以我不确定的是我需要从概念上设置和使用GIT这个项目,所以我可以保持这些分支独立,因为我一直在看分支似乎最终通过合并到主人,这正是我不想做的。
当然,我可以做所有这些手动,但如果我可以用它来学习GIT,那将是一个很棒的方式,并且非常有用!
提前致谢!
------->编辑
我收到的答案是伟大的想法,但我想我没有解释自己很好,所以我会尝试用另一个例子。原因是我认为我的想法可以用于许多其他项目,而不仅仅是我上面解释的那个项目,所以我很想知道它是否可行以及如何。
这是另一个例子:
让我们想想AOSP(Android开源项目),并全部由成千上万的开发人员创建的自定义光盘。它们都使用相同的源代码(AOSP或其变体),克隆它,并将自定义修改添加到自己的存储库中的操作系统。然后,只要AOSP源中有更新,他们只需要“更新”他们的克隆,但是保留他们已经实施的任何内容。
继我的第一个例子的类比,我的Android应用程序将是AOSP源代码,我的iOS应用程序将是克隆。
所以,也许我应该以某种方式使用2个存储库?或者分支/叉子?这是混淆我的部分...
嗯,我不困惑,我知道如何建立两个版本没有问题。问题是这些版本共享大部分代码,但不是全部,所以我正在寻找一种方法来简化将来更新两个版本的过程,当我在共享代码中实现更改时 – Albert
我的评论就是这样。创建文件夹/ src/common,src/ios和src/android。如果你想更新影响两个版本的代码,它就在公共文件夹中,所以只需编辑它。两个版本都会同时受到影响。使用分支来实现新功能,并且当你很高兴时将它合并回主。阅读http://git-scm.com/doc以获得基本的了解。 –
好的谢谢,我会检查出来。如果两个版本中的代码不能移动到单独的文件,该怎么办?我不确定如果不在原始应用程序中重写相当多的代码(已存在),就会发生这种情况。我猜那更糟的是我能做到这一点,但我正在跳跃寻找更好的方式 – Albert