Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/mercurial/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Version control 提交变更集后创建hg书签_Version Control_Mercurial - Fatal编程技术网

Version control 提交变更集后创建hg书签

Version control 提交变更集后创建hg书签,version-control,mercurial,Version Control,Mercurial,我克隆了Mercurial回购协议,并对签出代码进行了一些更改。然后我抓取了这些更改(7个文件),并用hgcommit提交了它们,但没有先创建书签 这是我的hg summary命令的输出: parent: 8172:b39efc1322fe tip Made some changes in my feature branch: default commit: 7 modified update: 2 new changesets, 3 branch heads (merge) phases:

我克隆了Mercurial回购协议,并对签出代码进行了一些更改。然后我抓取了这些更改(7个文件),并用
hgcommit
提交了它们,但没有先创建书签

这是我的
hg summary
命令的输出:

parent: 8172:b39efc1322fe tip
  Made some changes in my feature
branch: default
commit: 7 modified
update: 2 new changesets, 3 branch heads (merge)
phases: 3 draft
这些更改至少要再过一周才能完成,所以我想切换到一个新的书签并处理代码的其他部分

问题是,我意识到我在没有书签的情况下进行了提交,因此我担心在切换到新书签后,我提交的更改可能会丢失

有没有一种简单的方法可以将这些已提交的更改移动到新书签中

我担心在切换到新书签后,我提交的更改可能会丢失

你怎么能想象呢?OMFG,您已将更改提交到存储库(您的克隆),其中包含此更改集(
8172:b39efc1322fe
)。当|如果你要
svn向上
到另一个节点,你只需更改工作目录的父节点,拉动时,你会得到“2个新的变更集”,结果是“3个分支头”-2个新的变更集+你的提交8172,这个
b39efc1322fe
将始终是其中一个头,即使你在另一个节点上工作


如果你害怕忘记它(怎么做???真的),你可以用
hg bookmark-r b39efc1322fe$WIP&&hg commit-m“Bookmarked my work”将这个(提交的)变更集贴上事实书签
为了
hg up$WIP
什么时候可以继续这一大块更改

根本不需要担心:mercurial不会忘记您提交的任何内容,除非您明确地同时执行这两项操作:启用历史编辑扩展,并愿意以实际删除一个或多个更改集的方式使用它们

Mercurial不是git,当变更集当前未签出且没有附加名称(书签)时,Mercurial不会忘记或垃圾收集变更集


您可以使用
hg heads
显示所有头部。你可以创建新的书签,通过
hg bookmark--rev XXX MyBookmark
附加到任意的变更集,其中XXX是你想要附加书签的变更集ID。

无需大惊小怪-无论恐惧是否成立,想要将提交转移到新书签是一个合理的问题。