gpt4 book ai didi

mercurial - 为什么我不能在 Mercurial (hg) 中删除这个远程书签?

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

编辑: Mercurial 版本是 2.7

编辑2:我在这里有不同的书签,但想删除其中一个而不是 merge 它们。

我读到我可以删除远程书签 foo使用

hg book -d foo
hg push -B foo

请告诉我我在尝试删除书签时做错了什么 @default本地(有效)然后远程(无效,因此在下次拉动时再次恢复):
$ hg pull
pulling from /tmp/foo/base
searching for changes
no changes found
divergent bookmark @ stored as @default

$ hg book
* @ 8:d7a82de9f7c9
@default 9:c12daad73af2

$ hg book -d @default

$ hg book
* @ 8:d7a82de9f7c9

$ hg push -B @default
pushing to /tmp/foo/base
searching for changes
no changes found
bookmark @default does not exist on the local or remote repository!

$ hg in -B
comparing with /tmp/foo/base
searching for changed bookmarks
no changed bookmarks found

$ hg out -B
comparing with /tmp/foo/base
searching for changed bookmarks
no changed bookmarks found

$ hg pull
pulling from /tmp/foo/base
searching for changes
no changes found
divergent bookmark @ stored as @default

$ hg book
* @ 8:d7a82de9f7c9
@default 9:c12daad73af2

谢谢!

最佳答案

看来你有一个案例 Divergent Bookmarks !

我相信(但请注意,我还没有尝试在远程存储库上重新创建它以进行测试)远程存储库认为它对您的本地存储库也已更新的书签进行了更新。名字没有被渲染,这很奇怪;它是用空格命名的,CLI 无法呈现的东西,还是“@”符号本身?您可能只是在远程存储库的书签文件中有一个损坏的条目。

当您拉出一个书签并且本地和远程都更新了相同的书签时,就会创建一个不同的书签。远程版本附加有“@[path]”,其中路径是根据远程仓库的源从 hgrc 文件的 [paths] 部分拉取的。 (有关更多信息,请参阅 hg paths。)“@[path]”版本仅存在于本地,直到您 merge 和删除发散书签。

我认为,如果您要 merge 并推送到远程存储库,您将解决书签问题,事情就会恢复正常。

在您的评论中,您说您有意使用名为“@”的书签,并引用了书签的帮助:“如果您设置了一个名为‘@’的书签,则存储库的新克隆将 checkout 该修订版(并且书签制作事件)默认情况下。”

在这种情况下,要防止创建 @default ,您需要让两个存储库就哪个变更集应具有 @ 达成一致。 ;基本上你需要解决分歧。鉴于您不想 merge 并推回到远程仓库,这意味着更新 @书签以匹配远程仓库。

使用您问题中的示例控制台,我相信删除发散书签并重置 @匹配远程仓库的书签将防止出现分歧的问题:

hg book -d @default
hg book @ -r 9 -f

关于mercurial - 为什么我不能在 Mercurial (hg) 中删除这个远程书签?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18662121/

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