git - 如何在公司中设置分布式版本控制

标签 git mercurial dvcs

根据我在开源项目中使用分布式版本控制系统 (DVCS)(如 git 和 mercurial)的经验,大多数设置模型都为他们的项目使用集中式设置(想想 GitHub)。

在将分布式 VCS 引入公司时,您是否有集中式设置模型

最佳答案

拥有某种中央存储库是个好主意,因为它允许您共享代码,而且在某个地方有一个分支,您可以直接从中生成构建/导出快照。该服务器可能会有多个分支,其中一个被认为是“主干”分支。任何以前的版本都会有自己的分支,并且取决于你的团队的层次结构(即,如果你被分成小组,每个小组处理应用程序的一个方面)那么可能会有基于团队或功能的分支,但如果你不这样做没有必要那样工作。

当然,因为它是分布式的,每个开发人员也将拥有自己的本地存储库,以使事情变得又好又快。或者他们每个人甚至可以有多个存储库。例如,一个喜欢在上下类途中工作的开发人员可能在他的工作站上有一个存储库,在他的笔记本电脑上有另一个存储库,他的笔记本电脑上的分支是从他工作站上的分支“ checkout ”的。这取决于他。我猜想“分布式”部分使这类事情变得容易得多,因为您可以在远离网络时提交甚至分支。

如果您从非分布式 VCS 过渡,那么您可以直接进入与以前相同的模型,因为 DVCS 足够灵活,可以以相同的方式工作。否则,您可以只从一个带有几个分支的中央存储库开始,以后创建更多存储库和分支总是很容易。

最后一件事是您仍然需要备份。不同的开发人员每个人都拥有相同内容的副本这一事实增加了冗余,但这不是而不是备份。

我经常使用的 DVCS 是 Bazaar。我也尝试过 Mercurial。

关于git - 如何在公司中设置分布式版本控制,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/661515/

相关文章:

Git 更改工作目录

涉及分支的子分支的 Git pull 请求

git:自特定提交以来*未*更改的行数?

git - 防止在主分支上 merge 某种类型的文件 - Git

svn - 将 svn 补丁应用于 mercurial 存储库时出现的问题

git - 为什么 git 存储整个文件的副本以进行单行更改?

version-control - hg 本地忽略

svn - 可扩展(50 万个文件)版本控制系统

security - 我可以禁用 Mercurial 通过 HTTP 进行克隆/拉取吗?

java - Java 中的可嵌入分布式版本控制系统?