首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在Eclipse和repos的备份中使用GIT

在Eclipse和repos的备份中使用GIT
EN

Stack Overflow用户
提问于 2011-02-20 16:16:55
回答 3查看 1.5K关注 0票数 1

我对“分布式版本控制系统”(DVCS)和“集中式版本控制系统”(CVCS)完全陌生。不知何故,我明白了它们之间的区别。目前,在我的办公室,我们使用的是CVS存储库,它非常旧,我被要求升级到任何新版本。除了备份CVS repos(/usr/local/cvsroot目录)和创建cvs用户之外,我不知道其他什么,我将通过webmin工具完成这项工作。开发人员连接到cvs存储库,并使用Eclipse应用程序共享他们的项目。

我回顾了SVN,它与CVS相比有一些优点和缺点。我想选择CVCS而不是DVCS存储库,这样我就可以将存储库放在一个地方(因为我认为备份存储库对我来说很容易)。SVN是基于CVCS的,但我正在寻找一些高级的东西,它只比cvs有优势,而不是限制。

我听说GIT是最好的,它是基于DVCS的repo。最后,我想使用git,但不知道它是如何工作的。我的问题是这是我不能正确理解的DVCS。因为据说DVCS没有集中的存储库,每个用户在他们的本地机器上都有自己的存储库,这些存储库可以在其他用户之间共享,但是没有任何选项可以将所有用户的存储库保存到一个便于集中备份的服务器上吗?Eclipse在我的办公室是严格使用的,我在想是否有可能用eclipse连接到git (如果它有插件或者应该做的任何事情)。

最后,我想问的是,是否有人能解释一下GIT实际上是如何工作的。我期待着完全实用的解释,包括使用eclipse等理论,如果可以连接到git,是否有办法集中存储所有repos,如果不能,我是否应该到每台机器上备份repos?如果git不适合我,那么我将不得不尝试svn。我完全糊涂了!

谢谢!

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2011-02-21 22:02:29

我对‘分布式版本控制系统’和‘集中式版本控制系统’是完全陌生的。不知何故,我明白了它们之间的区别。目前,在我的办公室,我们使用的是CVS存储库,它非常旧,我被要求升级到任何新版本。除了备份CVS repos(/usr/local/cvsroot目录)和创建cvs用户之外,我不知道其他什么,我将通过webmin工具完成这项工作。

我强烈建议在你尝试进行回购转换之前,在上获得lot的经验,包括 CVS和新的VCS。我做了三次( CVS ->SVN,CVS->Git->Hg,SVN->Hg),这不是一项有趣的工作,您需要详细了解CVS和目标工具(以及转换工具)。特别是CVS->AnythingOther部分是有问题的,因为有很多重组工作要做。

开发人员连接到

存储库,并使用Eclipse应用程序共享他们的项目。

SVN、Git和Hg都有Eclipse插件,但我不能透露任何关于它们的信息,因为我不使用它们。但是,当您的开发伙伴使用eclipse作为唯一的CVS客户端时,当其他插件不能很好地工作时,这一点可能是一个大问题。这一点尤其有问题,因为更换知名的工具很容易导致情绪反应。

i回顾了SVN,它与CVS相比有一些优缺点。我想选择CVCS而不是DVCS存储库,这样我就可以将存储库放在一个地方(因为我认为备份存储库对我来说很容易)。

您可以将centralized workflow与任何DVCS一起使用,但不强制您使用集中式DVCS。这里我们有一个中央Hg服务器,开发人员在这里推送完成的工作。集中式工作流程基本上由一个中央服务器组成,每个人都可以从中拉出和推送到这里的共享repos。

只有当您的本地工作流程依赖于文件锁定时,我才会推荐SVN,这是DVCS中不存在的特性(至少据我所知没有)。在我们公司,我们对不可合并的文件(CAD文件)使用SVN,我们必须确保只有一个人在编辑这些文件。对于新的项目,我们使用Hg。

我听说GIT是最好的,它是基于DVCS的repo。

Git是最受欢迎的。我并不是说Git不好,但在这个领域还有其他好的工具。看看SCM choice for a new user?对SVN、Git和Mercurial的比较。

最后,我想问的是,是否有人能解释一下

是如何工作的。

对于Hg和Git,http://hginit.comhttp://gitimmersion.com是很好的教程。

我期待着完全实用的解释,包括使用eclipse等理论,如果可以连接到

,有没有办法集中存储所有的repos,如果不能,我应该去每台机器上备份repos吗?

http://www.vogella.de/articles/EGit/article.htmlhttp://www.vogella.de/articles/Mercurial/article.html涵盖了Git和Hg Eclipse插件。

票数 0
EN

Stack Overflow用户

发布于 2011-02-20 17:17:01

当我把一个团队从CVS转移到SVN时,办公室里几乎每个人都很兴奋:让一些东西接近变更集是很棒的,不再需要在每次签入之前和之后进行无休止的标记,拥有一些略微可以容忍的“移动”功能是很棒的。"move“的CVS选项非常糟糕,SVN将缺点缩小到可以根据需要重命名文件的程度。我们设法扔掉了大多数定制的Makefile菜谱,因为他们不再需要了,SVN要好得多。

并不是所有的用户都掌握了“目录作为分支”和“目录作为标签”的诀窍--标签太可变了,分支并不像是一个单独的开发轨道。(那些用户很擅长CVS;我想如果有人把我的文本编辑器换成一个几乎可以做得更好的新式IDE,我会很生气,但我的手指不知道。)

但是,与git的光明新世界相比,SVN给人的感觉仍然有点像黑暗时代。我知道SVN终于有了合并跟踪功能,这将会有很大的帮助,但最后我发现它仍然不支持离线工作,这是来自git的一个很好的巨大功能。

SVN确实实现了"CVS做对了“的目标。但这就是它所要做的。

我建议多花点时间在git上。您可以使用git的bare repository创建类似于中央存储库的东西。然后为您的所有开发人员配置ssh帐户并开始使用。

您可能会发现提名一个人来“拥有”主存储库是有帮助的(想想Linus Torvalds),但这对一个人来说可能是一个巨大的负担(想想Linus Torvalds :)。一个人可以在本地工作树中完成git pull和修复小冲突的所有工作,然后git push到服务器上的空存储库,供其他每个人再次从中提取。每个开发人员都可以单独完成这项工作,而且可能每个人都应该这样做,但出于管理原因,您可能会发现,通过一个或几个更有经验的开发人员来运行所有的“主树”签到是有帮助的。

票数 1
EN

Stack Overflow用户

发布于 2011-02-20 17:24:24

与CVCS相比,DVCS的最大优势如下:

  • 开发人员可以在不连接到主存储库的情况下处理代码(签出、分支、更改代码、提交等)
  • 一旦他们对更改感到满意,就会将其代码推送到主存储库
  • 以确保其代码不会偏离主存储库,他们会经常更新,以便其本地存储库中的代码与主存储库中的代码保持不变

那么主存储库位于何处?

这取决于开发团队。他们必须在一个(例如github)上达成一致,这样每个人都知道它。

注意: git eclipse插件-> egit

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/5055968

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档