Fel*_*lko 3 svn git version-control
我现在一直在使用颠覆,我正在考虑学习并转换到GIT,因为它现在似乎是大多数人的偏好.
然而,GIT的最大优势之一(及其复杂性的来源)是分散的能力,每个人都有自己的存储库并在需要时合并存储库.我对这个功能不感兴趣,实际上我想将所有内容集中在一台服务器上,既适用于我单独工作的项目,也适用于多个人应始终拥有最新源的项目.相同的服务器,没有或少量的分支/分叉.
考虑到这一点,目前大多数开发是在Windows上使用Visual Studio进行的,并且还需要使用一些简单的svn命令从Linux进行访问,GIT仍然是一个不错的选择吗?是否值得转换?GIT提供的其他功能对我们有什么好处?
让我说清楚.
那么,为什么要切换到Git?
我知道Git上有很多关于"比Subversion 更好 " 的喋喋不休,但大多数人都是真正不懂版本控制的人.他们看到许多开源项目使用Git并假设如果Linux使用Git,它必须更好.
我同时使用Git和Subversion,发现每个人都有自己的优点和缺点.
当您有客户强制交付和发布截止日期时,Git的问题就会出现.Git只是在持续集成环境中不能很好地工作,除非你像母鸡一样在你的开发人员身上.发生的情况是,在发布周期结束之前,不会向中央存储库发送任何更改.然后,在发布的最后几天,您一直试图处理不兼容性,冲突和其他问题.
使用像Subversion这样的集中式存储库,开发人员不得不一起工作.他们在代码中进行更小,更多的增量更改.通过良好的持续集成环境,您的QA团队可以提取中间版本并进行测试,而无需等待最终版本.
作为奖励,Subversion通过AnkhSVN与VisualStudio进行了很好的集成.最后是VisualStudio 的Git源代码提供程序,但它依赖于TortioseGit和BASH shell.同时,AnkhSVN是一个完全封装的源代码提供程序,其界面类似于使用VisualStudio或TeamFoundation,因此VisualStudio开发人员非常熟悉它.
因此,除非你的所有开发人员都想要Git,或者你打算使用Git的分布式功能,否则没有理由只为了切换而进行切换.