使用GIT与Eclipse和repos'备份

时间:2011-02-20 08:16:55

标签: git ubuntu repository cvs

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

我回顾了SVN,它比CVS有一些优点和缺点。我想选择CVCS而不是DVCS存储库,以便我将存储库放在一个地方(因为我认为我很容易备份存储库)。 SVN是基于CVCS的,但我正在寻找一些先进的东西,它只有cvs而不是限制。

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

最后我想问的是,是否有人可以解释我GIT的工作原理。我期待完全实用的解释intead理论使用eclipse等,如果它可以连接到git并且有一种方法来集中存储所有repos,如果不是我应该到每台机器并备份repos?如果git不适合我,那么我将不得不尝试svn。我完全糊涂了!。

谢谢!

3 个答案:

答案 0 :(得分:1)

当我将团队从CVS转移到SVN时,几乎办公室里的每个人都很兴奋:接近变更集的东西是精彩,在每次签到之前和之后都没有更多无限的标记,并且含糊不清可容忍的“移动”功能非常棒。用于“移动”的CVS选项非常糟糕,并且SVN的缺点足够小以保证根据需要重命名文件。我们设法抛弃了大部分的自定义Makefile配方,因为它们不再需要了,SVN要好得多。

并非所有用户都将“目录作为分支”和“目录作为标记”挂起 - 标记太可变,并且分支并不真正感觉像是一个单独的开发轨道。 (那些用户在CVS上;我想如果有人换掉我的文本编辑器换一个新奇的IDE几乎一切都做得更好,但我的手指不知道,我会感到很沮丧。)< / p>

但是,与明亮的新闪亮的git世界相比,SVN仍然感觉有点像黑暗时代。我理解SVN最终有合并跟踪,这将有很大的帮助,但最后我检查它仍然没有太多支持离线工作,这是一个很好的git巨型功能。

SVN确实实现了“正确完成CVS”的目标。但就目前而言,就是这样。

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

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

答案 1 :(得分:1)

答案 2 :(得分:0)

  

我对'分发版控制系统'(DVCS)和'集中版本控制系统'(CVCS)完全陌生。不知怎的,我明白了它们之间的区别。目前,在我的办公室,我们正在使用CVS存储库,这是非常老的,我被要求升级到任何新版本。除了备份CVS repos(/ usr / local / cvsroot目录)和创建cvs用户之外我不知道,我将从webmin工具执行此操作。

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

  

开发人员使用Eclipse应用程序连接到cvs存储库并共享他们的项目。

SVN,Git和Hg都有Eclipse插件,但由于我不使用它们,所以我不能对它们说些什么。但是当你的开发人员使用eclipse作为唯一的CVS客户端时,当其他插件工作不够好时,这一点可能是个大问题。这一点尤其成问题,因为更换众所周知的工具很容易导致情绪反应。

  

我回顾了SVN,它比CVS有一些优点和缺点。我想选择CVCS而不是DVCS存储库,以便我将存储库放在一个地方(因为我认为我很容易备份存储库)。

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

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

  

我听说GIT是最好的,是基于DVCS的回购。

Git是最受欢迎的。我不是说Git很糟糕,但是在这个领域还有其他好的工具。查看SCM choice for a new user?获取SVN与Git vs. Mercurial的枪战。

  

最后我想问的是,是否有人可以解释我GIT的工作原理。

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

  

我期待完全实用的解释intead理论使用eclipse等,如果它可以连接到git并且有一种方法来集中存储所有repos,如果不是我应该到每台机器并备份repos?。 / p>

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