Mercurial 源代码控制存储库中的“拉取”是“克隆”的同义词吗?

2023-11-21

我看到命令“拉”,想知道它与“克隆”有何不同。这两个术语似乎都意味着从某个远程存储库检索代码。这里有一些微妙的区别吗?


Use clone当您需要基于另一个存储库创建新存储库时。使用pull稍后将新的变更集传输到克隆中。您不能使用克隆来仅获取最新的变更集——这就是拉取的用途。 pull 命令将比较两个存储库,找到存储库中丢失的变更集,最后传输这些变更集。

但是,您是对的,克隆和拉取之间存在相似之处:它们都在存储库之间传输历史记录。如果你先克隆

hg clone https://www.mercurial-scm.org/repo/hg/

那么这与执行完全相同的效果

hg init hg
cd hg
hg pull https://www.mercurial-scm.org/repo/hg/
hg update

在这两种情况下您都会得到完全相同的历史记录。不过,克隆命令更方便,因为它还可以编辑.hg/hgrc文件供您设置默认路径:

[paths]
default = https://www.mercurial-scm.org/repo/hg/

这就是你可以做的hg pull在存储库中而不指定 URL。使用克隆的另一个优点是当您使用同一磁盘上的存储库时:hg clone a b就磁盘空间而言将非常快且便宜,因为b将与您分享历史a。这是使用硬链接完成的,适用于所有平台(Windows、Linux、Mac)。

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

Mercurial 源代码控制存储库中的“拉取”是“克隆”的同义词吗? 的相关文章

  • 不同GIT版本的GIT合并结果不同

    在不同的 GIT 版本上运行 merge 命令我们得到不同的结果 命令是 git merge no ff origin master codeline Results 版本2 1 4 gt 合并成功 版本1 7 1 gt 同一提交上的同一合
  • SQL版本控制方法

    SO 有几个关于 SQL 版本控制的问题 网上有很多资源 但我找不到完全涵盖我想要做的事情的东西 首先 我在这里谈论一个方法论 我熟悉各种源代码控制应用程序 也熟悉 Red Gate 的 SQL Compare 等工具 并且我知道如何编写应
  • 如何在 cygwin 下配置 Mercurial 以使用 WinMerge 进行合并?

    当 Mercurial 在 cygwin 下运行时 弄清楚如何生成有点棘手WinMerge http winmerge org 来解决合并冲突 我怎样才能做到这一点 诀窍是 cygwin 路径与 Windows 路径不同 因此您需要一个小脚
  • 在源代码管理中管理我的数据库

    由于我正在处理一个新的数据库项目 在 VS2008 中 而且我从未从头开始开发数据库 因此我立即开始研究如何在源代码管理 在本例中为 Subversion 中管理数据库 我找到了一些关于SO的信息 包括这篇文章 保持多个环境中的开发数据库同
  • git 可以与 Xcode 集成吗?

    有没有办法将 git 存储库与 Xcode 内置的 SCM 功能一起使用 Xcode 4 原生支持 git WWDC 2010 上的开发者工具国情咨文演讲 在这里了解更多 Xcode 4 中的新增功能 http developer appl
  • DVCS命令的统一

    当处理多个 开源 项目时 多个版本控制系统开始出现问题 虽然它们共享共同的操作 但我经常在输入时犯错误hg add反而git add 我记得前段时间看到过一个项目 通过提供基本命令以统一的方式访问不同的源代码控制软件提交 ci add等在外
  • 在 Clearcase 上使用 Mercurial 时保留历史记录

    我在 ClearCase 商店工作 CC 在集成团队的工作方面做得很好 尽管我们的代码审查流程阻止我使用它来跟踪我的日常更改 在我的 CC 视图之上创建 hg 存储库效果非常好 我可以跟踪我的更改并轻松在文件服务器上进行备份 为人们生成差异
  • 在 System Groovy 中暂时禁用 Jenkins 服务器上的 SCM 轮询

    我们有一个 Jenkins 服务器 正在运行 20 到 30 个作业 由于构建过程相当复杂 我们将实际构建分解为 1 个子构建 其中一些可以同时运行 其他则必须遵循之前的构建步骤 因此 我们将每个构建步骤分为 3 组 这三组在构建进行时会被
  • Maven 中不同配置文件的不同 SCM

    在我的项目中 我们必须使用 maben build number 插件来构造 jar 的最终名称 为此我们使用 SCN 的修订版 因此我们需要 SCM 但是我们在无法直接访问的受控环境和本地测试环境上有两个 SVN 因此对于我们的 poup
  • Mercurial 和 TortoiseHG - 推送更改后更新远程存储库

    将更改推送到远程存储库时 是否无法自动运行更新以使更改 文件可用 Use changegroup挂在远程端 如Mercurial 常见问题解答中进行了描述 http mercurial selenic com wiki FAQ FAQ 2F
  • Git 到 TFS 源代码管理迁移

    我想看看 TFS 如何为我的命令工作 所以我想将我们当前的 GIT 存储库移动到 TFS 数据库 我们使用 GIT 来获得普遍的分支支持 因此我想使用 TFS 2010 来解决该问题 现在的问题是 如何将 GIT 存储库导出到 TFS 显然
  • 使用 Windows 网络共享目录时 Hg 存储库损坏

    我希望我能在这里得到一些帮助 因为 SO UX 比 Mercurial 邮件列表更好 多年来我一直在家里愉快地使用 Mercurial 我还将它与 Bitbucket Cloud 一起用于一些更严肃 但仍然是爱好 的项目 去年 我将我的团队
  • Mercurial 与 Visual Studio 2010 的白痴清单

    所以我是一个源代码控制白痴 所以请用这个清单来幽默我 我最终决定使用Mercurial TortoiseHg VS2010 HgScc包 http bitbucket org zzsergant hgsccpackage wiki Home
  • 使用 Maven 外部化 SCM 凭证

    有没有一种方法可以外部化我的 SCM 凭据 以便它们不会存储在项目的 POM 中 问题是 如果它们包含在项目的 POM 中 那么在部署项目时它们将对所有人可见 对于某些 SCM 提供商 您可以在
  • “解决方案的源代码控制之间似乎存在差异......”

    我们在 Visual Studio 2005 和 TFS 中经常遇到此错误 任何人都可以帮助我们查明此消息的原因吗 完整的消息是 解决方案的来源之间似乎存在差异 控制有关某些项目的信息以及 项目文件 为了解决这个差异 有必要检查 项目文件并
  • Mercurial 撤消最后一次提交

    如何撤消 Mercurial 中上次意外提交 未推送 的更改 如果可能的话 最好使用 TortoiseHg 来实现这一点 Update 在我的具体案例中 我提交了一个变更集 未推送 然后我从服务器上拉取并更新 通过这些新的更新 我决定我的上
  • 没有分支的 svn 存储库签出

    我必须检查一个有 8 个分支的存储库 我不会下载每个分支大小 400MB 只需检查文件夹结构和主干即可 repo trunk repo tags
  • 如何存储和计算版本控制历史记录?

    考虑这个简单的 python 代码 它演示了一个非常简单的字典版本控制设计 def build current history current for action key value in history assert action in
  • 如何从 Mercurial 中的“主”存储库获取 Google 代码托管项目的更改?

    我从 code google com 上托管的项目创建了一个 服务器 克隆 我从我的机器中的该存储库创建一个克隆并推送一些更改 一切顺利 现在主存储库有一些更改 我想拉取它们 如何使用这些更改更新我的 服务器 克隆 hg pull u go
  • 如何使用 Groovy 获取自上次成功构建以来 Jenkins 的提交信息?

    如何编写自定义 groovy 脚本以轻松操作自上次成功构建以来所有提交的数据 在 gradle maven 步骤之后添加新的构建步骤 gt 执行系统 groovy 脚本 适配代码 import com tikal jenkins plugi

随机推荐