集中式和分布式版本控制系统之间的比较[关闭]

2024-04-08

什么是优点和缺点与使用集中式与分布式版本控制系统(DVCS)?您在 DVCS 中遇到过任何问题吗?您是如何防范这些问题的?保持讨论工具的不可知性并将激烈程度降到最低。

对于那些想知道有哪些 DVCS 工具可用的人,以下是最著名的免费/开源 DVCS 的列表:

  • Git http://git.or.cz/,(用 C 语言编写)使用Linux 内核和 Ruby on Rails http://git.or.cz/gitwiki/GitProjects.
  • 水银 https://www.mercurial-scm.org,(用 Python 编写)使用Mozilla 和 OpenJDK https://www.mercurial-scm.org/wiki/ProjectsUsingMercurial.
  • Bazaar http://bazaar-vcs.org/,(用 Python 编写)使用Ubuntu 开发者 https://wiki.ubuntu.com/UbuntuDevelopment.
  • Darcs http://darcs.net/,(用 Haskell 编写)。

From 我的答案 https://stackoverflow.com/questions/77485/what-are-the-relative-strengths-and-weaknesses-of-git-mercurial-and-bazaar#77834到一个不同的question https://stackoverflow.com/questions/77485/what-are-the-relative-strengths-and-weaknesses-of-git-mercurial-and-bazaar:

分布式版本控制系统 (DVCS)解决的问题不同于 集中式 VCS。比较它们是 就像比较锤子和 螺丝刀。

集中式VCS http://en.wikipedia.org/wiki/Revision_control系统是 设计的目的是 一位受祝福的真实源头,以及 因此好。所有开发人员都在工作 (结账)从该来源,然后 添加(提交)他们的更改,然后 变得同样有福。唯一的 CVS 之间的真正区别, Subversion、ClearCase、Perforce、 VisualSourceSafe 和所有其他 CCVCSes 在工作流程中, 性能和集成,每个 产品优惠。

分布式版本控制系统 http://en.wikipedia.org/wiki/Distributed_revision_control系统是 设计的目的是 存储库与其他存储库一样好, 并且从一个存储库合并到 另一种只是另一种形式 沟通。任何语义值如 应信任哪个存储库 是从外部强加的 过程,而不是软件本身。

使用一种类型之间的真正选择 或者另一个是组织性的——如果 您的项目或组织想要 集中控制,那么 DVCS 就是 不可能的。如果您的开发人员是 预计将在各地工作 国家/世界,没有安全 宽带连接到中央 存储库,那么 DVCS 可能就是您的 救恩。如果您两者都需要,那么您 fsck。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

集中式和分布式版本控制系统之间的比较[关闭] 的相关文章

  • 没有分支的 svn 存储库签出

    我必须检查一个有 8 个分支的存储库 我不会下载每个分支大小 400MB 只需检查文件夹结构和主干即可 repo trunk repo tags
  • Mercurial日志接口

    我一直在浏览 hginit com 上的教程 但我发现了一个相当不方便的方面hg log特征 基本上 当我输入它时 我会在顶部看到最新的更改 在底部看到最旧的更改 但这很烦人 因为大多数时候 您希望看到最新的修订版 所以 假设我有 100
  • 比较 C# 中的对象属性[关闭]

    Closed 这个问题是基于意见的 help closed questions 目前不接受答案 Locked 这个问题及其答案是locked help locked posts因为这个问题是题外话 但却具有历史意义 目前不接受新的答案或互动
  • 运行 flutter doctor 吐出错误:标准错误:致命:坏对象 HEAD

    我已经从官方网站安装了 Flutter 和 Android Studio 我是 Git GitHub 移动开发和 Android 开发的新手 我试图在命令提示符 Windows 10 中运行 flutter doctor 命令 但是 它会以
  • 比较两个字符串时如何不包含换行符

    我正在比较两个字符串的更新 我做了一个 string1 string2 结果却有所不同 我把它们放在 添加监视 中 我发现唯一的区别是一个有换行符 另一个没有换行符 string1 This is a test nThis is a tes
  • 本地分支显示在 GitHub 的“网络”视图上

    我们使用 Git 我们的工作流程由 dev 和 master 分支组成 它们位于 GitHub 和每个开发人员的本地存储库上 不会直接在 master 或 dev 上执行任何工作 而是在本地分支中执行工作 并且仅在 dev 上进行合并 然后
  • SQL Server - 比较 2 个表中同一列中的数据,而不检查是否相等

    我之前问过这个问题here https stackoverflow com q 51865261 1693085 但答案实际上并不是我想要的 假设我的 SQL Server 2012 数据库中有以下两个表 Tbl1 ID Col1 Col2
  • 撤消 git pull,如何将存储库恢复到旧状态

    有什么方法可以恢复或撤消 git pull 以便我的源 存储库将恢复到执行 git pull 之前的旧状态 我想这样做是因为它合并了一些我不想这样做的文件 但只合并了其他剩余的文件 那么 我想找回这些文件 可以吗 编辑 我想撤消 git m
  • 将文件提交到不同的分支而不进行签出

    是否可以在 git 分支中提交文件而不检出该分支 如果是这样怎么办 本质上 我希望能够将文件保存在我的 github Pages 分支中 而无需一直切换分支 有什么想法吗 我需要以原子方式完成此操作 而不更改当前目录 因此多个命令将无法工作
  • 如何在版本控制系统中安全地保存密钥和密码?

    我在版本控制系统中保留了开发和生产服务器的主机名和端口等重要设置 但我知道这是不好的做法保留secrets 如私钥和数据库密码 位于 VCS 存储库中 但密码 就像任何其他设置一样 似乎应该进行版本控制 所以呢is保持密码版本控制的正确方法
  • 为什么 IComparable 不会自动重载比较运算符?

    当一堂课IComparable 那么我们就知道了重载的一切 lt gt and 运营商由于CompareTo功能 对吧 那么为什么这些不会自动超载呢 看一下下面的例子 public class MyComparable IComparabl
  • 与 Perl 和 Ruby 比较的相似语言特性 __END__

    背景 Perl 和 Ruby 有 END and DATA 允许将任意数据直接嵌入源代码文件中的标记 尽管这种做法可能不适合通用编程用途 但它对于例行任务的 一次性 快速脚本非常有用 问题 还有哪些其他编程语言支持相同或类似的功能 它们是如
  • 你遇到过哪些 git 陷阱?

    我遇到的最糟糕的情况是 git 子模块 我在 github 上有一个项目的子模块 该项目无人维护 我想提交补丁 但无法提交 所以我分叉了 现在子模块指向原始库 而我需要它指向 fork 因此 我删除了旧的子模块 并将其替换为同一提交中新项目
  • GitHub 的 Subversion 版本? [关闭]

    就目前情况而言 这个问题不太适合我们的问答形式 我们希望答案得到事实 参考资料或专业知识的支持 但这个问题可能会引发辩论 争论 民意调查或扩展讨论 如果您觉得这个问题可以改进并可能重新开放 访问帮助中心 help reopen questi
  • 如何从 Emacs 中检出 Perforce 下的文件?

    我在工作中使用 Perforce 进行源代码控制 并且希望从 Emacs 中 打开以进行编辑 源代码控制下的文件 那怎么办呢 我需要在 Emacs 中设置什么 有插件吗 我还想执行其他 p4 操作 例如提交我的更改等 Perforce Em
  • 如何进行永久本地提交或更改

    我已经更改了我的项目的文件 配置文件 我希望此更改仅是本地的 因此从准备提交的更改列表中消失 有什么简单的方法可以做到这一点吗 请注意 配置文件定期存储在存储库中 一种方法是 git update index assume unchange
  • Git推送大文件时远端意外挂断

    当我尝试推送到我的 bitbucket 存储库时 出现以下错误 事实上 在 GitHub 中也是如此 数物体 48 完成 增量压缩最多使用 2 个线程 压缩对象 100 38 38 完成 写入对象 100 48 48 1 95 MiB 38
  • Github 拉取请求显示太多更改/提交

    我们有两个分行 develop and master 由于某种原因 当我创建 PR 时develop gt master 它显示了以前提交和更改的完整列表 即使我只做了一行更改develop 另外 当我能够从命令行合并时 它会说 无法自动合
  • 您对版本控制进行到什么程度了? [关闭]

    就目前情况而言 这个问题不太适合我们的问答形式 我们希望答案得到事实 参考资料或专业知识的支持 但这个问题可能会引发辩论 争论 民意调查或扩展讨论 如果您觉得这个问题可以改进并可能重新开放 访问帮助中心 help reopen questi
  • 如何从 SVN 获取所有未版本化文件的列表?

    有时 您正在开发并决定提交 却忘记了您在项目中创建了一些文件 然后几天后 你的朋友从 Subversion 中得到了你的版本 并抱怨有些文件似乎丢失了 你意识到了 啊糟糕 我忘记添加那些文件了 如何从 Subversion 获取不受版本控制

随机推荐