工作时如何用git强制使用CVS游击VC?

时间:2010-03-05 22:20:40

标签: git migration cvs git-cvs

我的工作地点目前使用CVS。计划进行git迁移,但可能需要很长时间。与此同时,我有一个单人项目,并决定使用git进行个人开发。分支,上演提交,变基等等都非常棒!但不幸的是,在某些时候,这个项目及其历史需要被导入CVS,所以其他人可以检查我的进展。

最好的方法是什么......

  • 将当前项目(理想情况下作为一组单独的提交/修订)导入CVS
  • 允许将可更改的未来更改导入CVS
  • (奖金问题 - 理想但不是必需的)将其他开发人员的任何CVS更改合并回git

如果重要的话,目前CVS中没有任何内容。 (如果我按照自己的方式在CVS中没有任何东西,但我现在仍坚持使用它!)提前感谢!

2 个答案:

答案 0 :(得分:2)

虽然我没有明确的CVS知识,但我会建议以下设置。

  • Work\Project.git< - git repo
  • Sync\Project< - git clone of master ..\Work\Project.git + CVS中的分支 此文件夹的版本控制。

您可以在Project.git中完成所有git内容,当您想要导入CVS时,转到Sync\Project并执行git pull重播同步目录中的更改(也许你需要在CVS中完成一个完整的dir结账?)。

对于相反的情况,您可能需要使用导入分支,但我认为可以从同步文件夹中的同事那里获取更改,但是在新分支中进行导入,并将其与您的主服务器合并你从主git存储库中提取的分支。合并完成后,您可以git push将更改返回到Work\Project.git

实质上,使用您的同步存储库就像您是另一个开发人员一样。您甚至可以从常规存储库中取出同步(因此向自己发送拉取请求;-))或使用git send patch机制来更新主git存储库。

在git中导入CVS更改集,有一个git-cvsimport可以帮助你。

答案 1 :(得分:2)

git cvsimportgit cvsexportcommit可以为您提供类似于git svn的工作流程