我们正在使用Redmine。我们开发了一个插件。我想将redmine代码库添加到我们自己的存储库中。因此允许我们从链接的上游存储库(redmine的git repo)中提取更改。如果我坚持使用redmine master分支,这是有道理的。但是,我想开发2.3-stable分支的插件。一旦我们将插件投入生产,那么我希望能够迁移到redmine 2.4等。沿途缓慢测试。与此同时,我们希望将整个repo(包括redmine文件)部署到我们的生产服务器。通过这种方式,我们可以开发插件并获得在本地运行的新版本的redmine,然后部署到我们的服务器,所有这些都应该可以正常工作。部署将使用capistrano进行。所以capitstrano文件也需要添加到我们的存储库中。
我试过的是检查我们的空存储库。将redmine存储库添加为上游,获取上游。然后我将插件添加到空插件目录并将文件添加到提交。我的问题是这是在主分支上。如果我在2.3-stable分支上执行相同操作,那么我无法将插件移动到另一个分支,因为合并2.3-stable与master将导致合并冲突。
接近此设置的最佳方法是什么?我是否有一个单独的插件分支和一些如何重新安装2.3-stable以包含插件。因此,在插件分支上进行开发,并使用我想部署的每个版本分支进行重新定位。
总结一下。基本上我想在保留插件开发的同时分叉repo但交换版本。
答案 0 :(得分:0)
从一个版本移动到另一个版本时使用3分支rebase解决。在以下步骤中概述:
克隆Redmine回购
git clone https://github.com/redmine/redmine.git
将原点重命名为上游
获取远程重命名源上游
创建一个本地分支来跟踪上游分支
git checkout --track upstream / 2.3-stable
创建一个本地分支来容纳其他工作,在我们的例子中是插件
git checkout -b 2.3-stable-plugins
将您想要的内容添加到最后一个分支。
将所有分支推送到您自己的仓库。
git remote add origin some-url
git push origin all
转移到新的Redmine版本,即:原始存储库中的另一个分支。
签出新分支
git checkout --track upstream / 2.4-stable
执行3分支rebase
git rebase - 大多数2.4稳定2.3稳定2.3稳定插件
重命名2.3-stable-plugins分支以反映它现在实际上是2.4