我看到命令“拉”,想知道它与“克隆”有何不同。这两个术语似乎都意味着从某个远程存储库检索代码。这里有一些微妙的区别吗?
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(使用前将#替换为@)