有一个提交只是没有用,所以我想放弃它而不从历史中删除它.
我已经从早期版本更新并承诺,从而创建了一个新的头脑.
我没有分支机构,我不想要分支机构,我只想简单地继续使用新的头部,没有花哨,没有合并,没有后顾之忧,只是继续忘记前一个.
我似乎无法找到如何做到这一点,我开始相信它无法完成.我发现的只是关于分支的东西,或者关于合并的东西.
Nia*_* C. 180
使用您想要忘记的修订版将您的存储库更新到头部,然后使用该hg commit --close-branch选项-c将该(匿名)分支标记为已关闭.然后更新到您分支的负责人都想要的,并继续工作.
如果使用hg heads选项hg merge,您仍然可以看到关闭的分支,但默认情况下它不会显示,并且hg push --force不会尝试与封闭的头部合并.
您需要--force在第一次将此关闭头部推送到另一个存储库时使用,因为在推送时实际上是在远程存储库中创建了其他头.所以告诉Mercurial这是可以的hg commit --close-branch.拉开头部的人不会受到任何警告的困扰.
Nic*_*int 67
我知道你不想在这个阶段与分支机构合作,但这正是你所做的.当你回到早期版本并提交一些有效的东西时,你创建了一个分支 - 一个未命名的分支,但是一个分支都是一样的.
没有问题,只是像你一样继续而不担心多头,但如果你想整理一下所以你不小心选错了头,那么你可以杀死旧的分支.
Mercurial文档中有一个很好的部分,它带您了解Pruning Dead Branches的许多选项.
我认为最好的选择是将旧分支标记为"已关闭".如果你的老头是修订版"123"那么:
hg update -r 123
hg commit --close-branch -m 'Closing old branch'
hg update -C default
Run Code Online (Sandbox Code Playgroud)
Art*_*yan 21
hg heads
Run Code Online (Sandbox Code Playgroud)
changeset: 223:d1c3deae6297
user: Your name <your@email.com>
date: Mon Jun 09 02:24:23 2014 +0200
summary: commit description #3
changeset: 123:91c5402959z3
user: Your name <your@email.com>
date: Sat Dec 23 16:05:38 2013 +0200
summary: commit description #2
changeset: 59:81b9804156a8
user: Your name <your@email.com>
date: Sat Sep 14 13:14:40 2013 +0200
summary: commit description #1
Run Code Online (Sandbox Code Playgroud)
然后你会这样做:
hg up -r 59
hg ci --close-branch -m "clean up heads; approach abandoned"
Run Code Online (Sandbox Code Playgroud)
hg up -r 123
hg ci --close-branch -m "clean up heads; approach abandoned"
Run Code Online (Sandbox Code Playgroud)
hg push
Run Code Online (Sandbox Code Playgroud)
hg up -r 223
Run Code Online (Sandbox Code Playgroud)
而且你已经完成了.
msa*_*het 12
你想用hg backout.这将从任何子变更集中删除变更集所做的更改.
检查一下这是一个很好的解释. Mercurial Backout
| 归档时间: |
|
| 查看次数: |
52922 次 |
| 最近记录: |