繁体   English   中英

如何结合单独的Git存储库来跟踪同一CVS存储库的不同分支?

[英]How to combine separate Git repositories tracking different branches of the same CVS repository?

在我公司,我们有一台中央CVS服务器。 对于每个仍受积极支持的产品版本,我们有不同的分支。 在本地,我使用Git,基本上遵循http://undefinedvalue.com/2010/07/02/workflow-remote-cvs-local-git的方法(git cvs花费了很长时间,然后因错误而停止:- /)。

我为每个CVS分支使用一个单独的Git存储库(每个CVS分支在不同的目录中检出)。 因此,例如,我有〜/ dev / our_product / v2,〜/ dev / our_product / v3,〜/ dev / our_product / v4和〜/ dev / our_product / main目录,每个目录都直接在目录中带有.git。 master分支遵循CVS(我通过定期进行cvs update和git commit来手动更新它)。

我现在正在考虑将所有这些Git仓库合并为一个。 如果我了解如何将来自两个不同存储库的两个分支合并到一个存储库中? 正确地,我可以创建一个新的仓库,并使其跟踪所有现有仓库。 那也会从现有的仓库中导入所有分支,对吗? 然后我可以扔掉现有的仓库吗? 还是我应该使用其他方法?

我也想知道这是否有助于我的工作流程。

用例1:通过创建一个称为some-feature的功能分支,我开始为CVS main分支开发功能。 然后我知道它必须进入v3。 我可以将功能分支重新建立到v3版本吗?

用例2:当我在v2中进行更改(在功能分支的其他功能上)时,我必须将其合并到v3,v4和main中。 我可以通过在各个CVS跟踪分支中简单键入“ git merge some-other-feature”来做到这一点吗?

最好的祝福,

我可以创建一个新的存储库,并使其跟踪所有现有的存储库。 那也会从现有的仓库中导入所有分支,对吗?

实际上,您将能够从唯一存储库中的远程存储库中获取所有分支,但是您应该从这些远程分支开始创建本地分支。
完成后,您可以删除这些远程引用,而不再使用git-cvs存储库。

然后我可以扔掉现有的仓库吗?
如果不需要它们发布回CVS,则可以。

我通过创建一个称为some-feature的功能分支来开始为CVS main分支开发功能。 然后我知道它必须进入v3。 我可以将功能分支重新建立到v3版本吗?
是的,请在合并之前重新设置基准,如“ git rebase vs git merge ”中所述。

我可以通过在相应的CVS跟踪分支中简单地键入“ git merge some-other-feature ”来做到这一点吗?
是的,这就是将其传播到那些分支的想法。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM