gpt4 book ai didi

mercurial - 推送新分支时的新远程头

转载 作者:行者123 更新时间:2023-12-04 10:10:31 25 4
gpt4 key购买 nike

我创建了一个 named mercurial 中的分支,提交了一些更改,现在我想将其推回中央仓库。我已经完成了一次提取,确认我没有要 merge 的更改,但是当我尝试进行推送时,我收到消息 push creates new remote head但我不明白为什么。我是这个分支上唯一的开发人员,它仍然在我的存储库本地。

>hg fetch (pull/update/merge)
>hg status (shows nothing)
>hg push --new-branch mybranch
searching for changes
new remote heads on branch 'default'
new remote head c3064f3cf1b7
abort: push creates new remote head c3064f3cf1b7!
(did you forget to merge? use push -f to force)

有任何想法吗?

编辑 : 抱歉有任何混淆,这是由 hg branch mybranch 创建的命名分支

更新 :使用 hg heads在不同的分支上产生多个头。我的分支有一个,默认情况下有一个:
changeset:   515:97b9a7802751
branch: mybranch
user: me <me@mymail.com>
date: Mon Feb 27 13:21:54 2012 -0800
files: CryptoRandom.cs
description:
fixing error message for size of max


changeset: 504:c3064f3cf1b7
user: me <me@mymail.com>
date: Thu Feb 09 11:41:32 2012 -0800
files: CipherKey.cs
description:
removing ambiguous characters - CAC-47

使用 hg log -r c3064f3cf1b7产生以下结果(这是默认的头部):
changeset:   504:c3064f3cf1b7
user: me <me@mymail.com>
date: Thu Feb 09 11:41:32 2012 -0800
files: CipherKey.cs
description:
removing ambiguous characters - CAC-47

最佳答案

令人困惑的是--new-branch标志在推送特征分支(也称为任意分支)时无效。匿名分支如下所示:

... [a] --- [b] --- [c] <- the servers head on default
\
[x] --- [y] <- my feature branch on default

所有变更集都在 default所以你现在有 两个头default .当您推送时,您将在服务器上创建两个头 - 但 Mercurial 在此之前中止并显示您看到的警告。它中止,因为在服务器上有多个头会令人困惑:当您 hg clone 时您的工作副本将几乎随机更新为其中之一。
--new-branch标志仅适用于 named branches .如果您将新命名的分支推送到远程存储库,Mercurial 通常会中止。添加 --new-branch flag 是你告诉它继续的方式。

不幸的是,我们没有专门的 --create-new-feature-branch旗帜。我们只有 --force标志告诉 Mercurial 继续在远程存储库中创建两个头。 --force的缺点是它否决了所有安全检查:您可以使用该标志推送三个或更多新头,甚至可以推送到不相关的存储库。
所以你应该使用 hg outgoing仔细检查您要推送的内容。

我在上面写道,服务器上的多个磁头令人困惑,因为新的克隆将更新为随机磁头。为避免混淆,您可以通过为功能分支添加书签来为其命名。您仍将更新为随机头像,但 hg bookmarks将显示可用的功能分支,然后您可以更新到正确的分支。因此,如果您正在使用这样的工作流程,请继续使用 hg push -f .

关于mercurial - 推送新分支时的新远程头,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9473950/

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