gpt4 book ai didi

mercurial - 位桶, "hg push"和 "hg update"

转载 作者:行者123 更新时间:2023-12-02 21:58:48 26 4
gpt4 key购买 nike

如果我从本地 Mercurial 存储库开始,我认为它是“主要”存储库(请原谅我,我的 dvcs 领主),并打算使用 bitbucket 作为备份和问题跟踪工具,我可以进行所有更改在我的本地存储库中并执行“hg Push”将更改发送回 bitbucket。

我不需要遵循在本地计算机上运行的“hg push”命令并执行“hg update”吗?

最佳答案

为什么你关心 BitBucket 服务器上工作目录中的内容?只要您推送,更改就会在存储库中并在 BitBucket 页面上可见。

编辑:好的,我将编辑此答案,使其成为有用的答案。

假设您克隆了我的一个存储库,例如 BitBucket 上的 django-hoptoad。您的本地计算机上将有一个名为 django-hoptoad 的文件夹,其内容如下所示:

django-hoptoad/
|
+-- .hg/
|
+-- ... my code and other folders

有关存储库本身的所有数据都存储在 .hg/ 文件夹中。 Mercurial 在这里保存有关哪些文件在哪些变更集中进行了更改的数据,以及许多其他内容。

你可以这样想(尽管它过于简单化了):

django-hoptoad/
|
+-- .hg/
| |
| +-- data about changeset 1
| +-- data about changeset 2
|
+-- ... my code and other folders as they appear in changeset 2

当您运行 hg pull 并且不更新时,您会将所有新的变更集拉入存储库:

django-hoptoad/
|
+-- .hg/
| |
| +-- data about changeset 1
| +-- data about changeset 2
| +-- data about changeset 3 (NEW)
| +-- data about changeset 4 (NEW)
|
+-- ... my code and other folders as they appear in changeset 2

如果您不更新,...我的代码和其他文件夹仍将等同于变更集 2 中的内容,但其他变更集仍然相同在存储库中。

当您运行hg update时,Mercurial会将...我的代码和其他文件夹更新为最新变更集的内容。

django-hoptoad/
|
+-- .hg/
| |
| +-- data about changeset 1
| +-- data about changeset 2
| +-- data about changeset 3
| +-- data about changeset 4
|
+-- ... my code and other folders as they appear in changeset 4

确实,这意味着...我的代码和其他文件夹中发生的内容不必与存储库中的内容相匹配。您可以将其删除,所有变更集仍将位于存储库中:

django-hoptoad/
|
+-- .hg/
|
+-- data about changeset 1
+-- data about changeset 2
+-- data about changeset 3
+-- data about changeset 4

如果您现在提交,它将创建一个新的变更集,基本上表示“没有文件”。但你不必 promise 。人们仍然可以向您推送和拉取,因为存储库仍然拥有有关变更集的所有数据。

这几乎肯定是 BitBucket 正在做的事情。您永远不会登录 BitBucket 的服务器、编辑代码并在那里提交——您只能进行推/拉/克隆。这意味着 ...我的代码和其他文件夹 永远不会被实际使用,所以我想 Jesper 将其设置为删除它以节省磁盘空间。

由于 hg update 仅真正影响工作目录,而 BitBucket 上的工作目录从未使用过,因此在推送到后不需要运行 hg update位桶。

关于mercurial - 位桶, "hg push"和 "hg update",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1187858/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com