为什么我不想在版本控制中使用中央存储库?SVN与Git问题

joh*_*nny 12 svn git version-control

重复:

我确定我错了,但我读到Git没有像SVN那样使用中央存储库.一,我不明白你如何拥有分散版本控制系统.我确信它有效,因为有很多人使用它,但我不明白这个概念.

你怎么能拥有每个人都使用的东西而不是一个集中的存储库来保存源代码?

我想这更像是一个git vs svn,你用哪个?我读到git更好但不像SVN那样集成在大多数IDE工具中.

我还在学习.

谢谢.

T.E*_*.D. 8

在我开始使用Git之前,这也让我很困惑.人们喜欢过分强调它有多么不同.

事实是,你可以,而且很可能会将你的Git系统设置为拥有一个"主"的存储库.与Git不同的是,每个"工作目录"也都有自己的客户端存储库.大量的Git设计用于在客户端存储库和父级之间来回合并代码.

如果您希望在某个服务器上使用单个主存储库,并且所有用户都是该存储库的直接客户端,则可以轻松地执行此操作.是什么让Git的真正不同的是,你不具备做.如果需要,您可以使用从工作者到子组,测试组,掌握的大型存储库树.您可以设置从工作者到开发主人(由开发人员经常更新)到远程客户站点的链(客户在需要修复时很少更新,并且可以在埃塞俄比亚和托莱多之间获得他们之间的专用网络) .拓扑和工作流程取决于,而不是工具.

我的建议是自己尝试一个小型(或假装)项目.一旦你看到它是如何工作的,你就会开始看到它们的可能性.


And*_*ter 5

DVCS的重点不是"避开中央存储库".我看到的大多数基于DVCS的项目都有一些共同的HEAD概念 - 人们将修补程序推送到HEAD,这就是版本的来源.

相反,DVCS的主要优点是每个工作副本都允许修订控制.这有三个主要优点.

  1. 方便.如果我添加一个新功能,我可以提交它 - 并且有一个很好的代码工作版本记录 - 没有网络方便,或者不得不将我可能破坏的代码推送到其他人手中.
  2. 控制并行开发.完全独立,我可以处理一个功能集,并以我们所知道的所有方式使用版本控制使开发更好,而其他人可以为相同的代码提交补丁(这样他们可以利用版本控制)而不会干扰我的发展
  3. 分支,合并等.DVCS往往有更好的支持 - 因为它是分布式系统中的固有想法 - 用于分支.如果我不喜欢项目负责人所做的事情,那么分支项目对我来说是微不足道的.我拉HEAD,开始致力于那个回购,并且可以将该回购发送给任何想要我的分支的人.同样,在#2的上下文中,处理来自不同人的多个补丁集要容易得多.