您是否会将SVN托管的C#项目(2-5位开发人员)切换到GIT?是否有任何优势使其值得付出额外的努力?
我对此表示怀疑,但为双方寻找争论。
答案 0 :(得分:12)
那么,这实际上取决于您的开发人员的工作方式以及他们是否对Subversion设置感到满意。你是否正在进行大量的合并并且宣誓Subversions糟糕的合并支持,那么Git可能会让你的生活更轻松。
让我烦恼的是,许多人似乎认为Git和其他DVCS的主要好处是你可以进行离线开发。这只是在本地计算机上拥有整个存储库的真正特征的一个小副作用,因此可以在不联系服务器的情况下完成分支,合并等。在Git的情况下,你可以在几秒钟内在分支之间切换,在Subversion中需要几分钟。
如果您的开发人员习惯并喜欢学习新东西,那么转换为Git可能不会有太大问题。另一方面,如果你的开发人员喜欢他们的工作环境发生变化时的情况并且不喜欢,那么你最好还是留在Subversion世界。
答案 1 :(得分:9)
我将我的所有工作从SVN转移到Git以获得2开发商店。 TortoiseGit 在Windows上工作得很好, gitk 工具让我很开心。
对于某些任务,您仍然需要习惯在Windows上的shell模式下使用git,但是对于您的日常工作流程,Git GUI,gitk和TortoiseSVN将帮助您实现目标。 分支/合并系统和本地私人历史的质量很快就能让我感到非常非常有价值。我也有点像跳过版本号并且能够推动“干净”从我杂乱无章的个人分支到中央存储库。
答案 2 :(得分:4)
让我远离SVN的原因是它在互联网上的缓慢。当存储库甚至距离100毫秒时,提交和查看日志历史记录等简单操作将永远(数十秒)。使用Git,它们只需要几分之一秒。
离线工作也很棒。有一天,当我的大学网络出现故障时,我仍然可以在我的笔记本电脑上不间断地工作。我可以将更新推送到中央服务器一段时间后,当我正在处理的功能完成并且我可以访问互联网时。
对于开源项目,DVCS是必须的,因为它允许新开发人员立即开始入侵,而无需向他们提供对中央存储库的写入权限。它降低了新开发人员加入项目的条目。
我最近写了a blog post关于将SVN存储库转换为Git的经验。如果您决定离开SVN,它可能会对您有所帮助。还要记住,使用git-svn个人开发人员可以在他们的本地计算机上使用Git,而中央存储库是SVN存储库。
答案 3 :(得分:3)
我会说不,因为GIT的GUI工具在这一点上非常原始。
Svn拥有VisualSvn,TortoiseSvn,它使Visual Studio和Windows Explorer集成非常流畅。 IMO SVN工具的“易用性”远远超过GIT提供的分布式源代码控制和更好的合并功能。
现在这是因为我没有期望在没有源控制存储库连接的情况下处理源控件项目。如果你在飞机上或在船上花了很多时间(短期!)我会试试GIT,看看命令行工具是否足够。
答案 4 :(得分:2)