Git / Mercurial本地cvs结账

时间:2010-09-06 15:27:57

标签: eclipse git cvs egit

我读过:

,既不适合我的需要。

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

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

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

我的计划大致如下:

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

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

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

之前的链接没有用的原因是他们直接从git repo直接转到cvs repo,这让我担心,因为我不想意外感染cvs repo。

还应该说GitRepo中的更改不需要持久存储到CVS repo中,例如我不需要看到每次推送到远程CVS中反映的git repo。

〜感谢您的阅读。

2 个答案:

答案 0 :(得分:4)

你完全可以直接在CVS工作区内创建一个git repo(非常像directly within any other VCS tool

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

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

答案 1 :(得分:3)

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

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

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

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

  4. 在您离开工作之前切换到master分支。我曾经错误地在早上CVS up -d分支上运行dev并最终感到困惑。添加脚本以在更新前自动切换到master有帮助。