0

我是处理 mercurial 的新手。我在分支上做了一些乱七八糟的尝试,现在我想在一个“默认”中“扁平化”所有分支

josir@josir-desktop:~/bitbucket/campus$ hg branches
default                       27:f28e8d8773c6
15                            20:6b434f251b7e

分支已经被推送到远程仓库。

我想清除所有其他分支,丢弃所有更改。阅读那些教程,我无法确定修复它的最佳选择。

4

3 回答 3

2

最简单的方法是“关闭”不需要的分支并让它们安静下来:

hg update -r "branch('15')"
...
hg commit --close-branch 

如果您只有对远程仓库的推送/拉取访问权限,则在推送更改集后无法删除它们。所以关闭分支并继续前进,或者丢弃 bitbucket 存储库,清理本地存储库,然后重新开始。

为了清理你的本地仓库,如果你有一个很大的混乱,最简单的方法是选择一个好的修订版(例如,默认的提示,但你可以选择一个更早的版本)并克隆它及其所有祖先:

hg clone -r <goodrev> messy-repo new-repo

文档(您已经引用过)对此和其他几个分支修剪选项有很好的解释,但是在您推送到您无法控制的存储库后,它们都不合适

于 2012-12-10T15:47:18.847 回答
0

对于已经推送的分支,你没有任何自由:只有--close-branch

于 2012-12-10T15:47:13.263 回答
0

当我发出hg branches时,我得到了一个像上面这样的两列报告:

josir@josir-desktop:~/bitbucket/spo$ hg branches
dev                          232:31cf2690dd47 (inativo)

我对此有何理解?

有 2 家分店 :(

那是我的大错。只有一个分支:dev

第二列“232:31cf ...”只是“dev”分支的最后一次提交!!!

于 2012-12-15T16:37:00.907 回答