6

我读过了 :

,而且都不适合我的需要。

在工作中,我们使用远程 CVS 存储库。对这个 repo 的访问是通过 eclipse CVS 工具和构建在 eclipse 团队工具之上的内部 eclipse 插件来处理的。这意味着我们无法转向更好的 vcs。

但是我想在我的本地机器上使用 Git(以启用个人分支),以便我可以完成以下操作:

在 Git 中创建分支,然后完成并合并回我的本地主干,使用 eclipse 团队工具等提交回 cvs 存储库。

我的计划大致如下:

  • 将签出的文件复制到另一个文件夹 [gitRepo]。
  • 在 gitRepo 中创建一个主 git repo
  • 在 gitRepo 中分支并进行更改。
  • 提交到 gitRepo
  • 将 gitRepo 复制回签出的文件
  • 与远程 cvs 同步。

我计划使用 eGit 进行 Eclipse,但我相信 CVS 和.git文件将争夺版本控制的所有权。

是否有任何工具或建议的工作流程来帮助我管理这个?还有 Git 对 CVS 文件的处理效果如何。反之亦然,因为我不希望它们相互感染。

以前的链接没有用的原因是它们直接从 git 存储库提交到 cvs 存储库,这让我很担心,因为我不希望意外感染 cvs 存储库。

也应该说 GitRepo 中的更改不需要持久化到 CVS repo 中,例如我不需要看到对 git repo 的每次推送都反映在远程 CVS 中。

~感谢阅读。

4

2 回答 2

4

您完全可以直接在 CVS 工作区中创建一个 git repo(就像直接在任何其他 VCS 工具中一样。

确保 git 将忽略任何.cvs资源,并确保 CVS 将忽略.git.
任何 Git 提交都不会直接反映在 CVS 中。

唯一的技巧是 Eclipse 仅显示 Git 或仅显示 CVS 信息和标签装饰。
为此,我将配置两个不同的 Eclipse 透视图,我将在其中停用一个或另一个 VCS 工具。

于 2010-09-06T17:33:27.567 回答
3

我在工作中确实做到了这一点,我发现以下做法很有帮助:

  1. 使任何一个(master在我的情况下)分支始终与 CVS 同步。不要将此分支用于您的开发。定期更新此分支以获取团队其他成员所做的更改。如果这些更改与您当前的工作相关,请merge master从您的dev(或任何其他适当的)分支执行。

  2. 当您准备好签入 CVS 时,切换到master分支并合并来自适当分支的更改(适当的devfeature等等)。运行你的测试!

  3. 您的雇主很可能会保留 CVS 存储库的备份。您必须找到一种方法来备份您的 git 存储库。一种方法是在 Dropbox 文件夹中添加镜像存储库,并post-commit在每次提交后使用挂钩更新它。

  4. 在你离开工作之前切换到master分支。我曾经犯了早上CVS up -ddev树枝上跑步的错误,结果很困惑。添加脚本以在更新之前自动切换到有master帮助。

于 2010-09-06T17:57:16.970 回答