在工作中,我们希望改进我们目前的工作方式,我们认为Git可以解决我们的问题。
我们当前的回购托管在SVN中,如下所示:
MAIN ---trunk
---bugfix
CUSTOMER1
---trunk
---bugfix
CUSTOMER2
---trunk
---bugfix现在来了一个笑话:) Customer1和2基本上都是基于MAIN的,但是主要项目需要定制,他们决定将它们分割成两个分支,并重做MAIN的几个共享代码。
已经到了不能将MAIN合并到customer1或2中的地步,因为很多代码已经被覆盖了。当我们应用一个新特性或new修复时,我们必须手动编辑MAIN、customer1、customer2的代码,甚至在某些情况下还必须分别编辑bugfix分支。我们花了30分钟编写一个修复程序,并将其复制30分钟粘贴到其他分支。
是的,我们知道这是一种完全错误的工作方式,但是我们想要改变这一点。
我有一些像样的git知识,而且我知道其他几个项目都是这样工作的,比如@ chiliproject。简单地说,我们想要一个这样的设置:
MAIN --- develop
--- feature
--- master
--- bugfix
\
customer1
--- ...
\
customer2可能总共有3个存储库,其中客户1和2是基于MAIN的。当我们将新代码应用到MAIN时,我们可以简单地将其拖到customer1和customer2中。有人能就我们如何解决这个问题提出建议吗?
此外,我还尝试在customer1中添加一个远程回购( remote ),这是远程备份的主要功能。当我获取最新的修订版时,我得到了所有与MAIN不同的内容。显然,由于目前的代码非常不同,所以我不想合并它。但是,我想引入未来的revision1,它只包含一个hello.php补丁。
谢谢
发布于 2012-09-18 18:26:28
本教程可能会帮助您迁移:http://git-scm.com/book/en/Git-and-Other-Systems-Migrating-to-Git
你想要什么/需要什么是可能的,但我仍然不知道,但它可能会有所帮助。
我是在官方的Git网站http://git-scm.com/上找到的。
希望这能有所帮助。:) (如果这属于评论,那么我很抱歉,由于某种原因,我实际上不能在主要问题中发表评论。)
https://stackoverflow.com/questions/12359165
复制相似问题