8

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

最好的方法是什么...

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

如果重要的话,目前 CVS 中没有任何内容。(如果我按照自己的方式行事,CVS 将不会有任何东西,但我现在坚持下去!)提前致谢!

4

2 回答 2

2

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

  • Work\Project.git<-- git 仓库
  • Sync\Project..\Work\Project.git<--在此文件夹上 + CVS 版本控制中主分支的 git 克隆。

您可以在其中执行所有 git 内容,Project.git并且当您想要导入 CVS 时,您可以转到Sync\Project并执行 agit pull以重播同步目录中的更改(也许您需要在 CVS 中执行完整的目录检出?)。

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

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

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

于 2010-03-05T22:33:44.400 回答
2

git cvsimport并且git cvsexportcommit可以为您提供类似于git svn

于 2010-03-06T00:29:31.377 回答