Mercurial 是否更改修订父项以从历史记录中删除早期修订?
如何在mercurial中快速重新绘制一棵树,如果这是原始结构:Mercurial 是否更改修订父项以从历史记录中删除早期修订?,mercurial,mercurial-convert,reparenting,Mercurial,Mercurial Convert,Reparenting,如何在mercurial中快速重新绘制一棵树,如果这是原始结构: A-B-C-D-E-F 我想将其更改为: D-E-F(甚至A-D-E-F也可以) 我尝试了使用拼接图的建议,但失败了,错误是未转换拼接图修订,忽略了“ 它还打印出abort:no node 任何帮助都将不胜感激。谢谢。我会使用histedit扩展名: 首先,让我们创建一个具有所需结构的测试回购: hg init echo "a" > file hg ci -m "a" echo "b" >> file hg ci
A-B-C-D-E-F
我想将其更改为:
D-E-F
(甚至A-D-E-F
也可以)
我尝试了使用拼接图的建议,但失败了,错误是未转换拼接图修订,忽略了“
它还打印出abort:no node代码>
任何帮助都将不胜感激。谢谢。我会使用histedit
扩展名:
首先,让我们创建一个具有所需结构的测试回购:
hg init
echo "a" > file
hg ci -m "a"
echo "b" >> file
hg ci -m "b"
echo "c" >> file
hg ci -m "c"
echo "d" >> file
hg ci -m "d"
echo "e" >> file
hg ci -m "e"
echo "f" >> file
hg ci -m "f"
然后,执行hg histedit
,并在编辑器中输入以下选项:
pick e4c09693d7a6 0 a
r 380d6d1ef006 1 b
r 33131e82bb1b 2 c
r pick 9325fb48b48e 3 d
pick 844ebb0b3844 4 e
pick bc85bc9ade8f 5 f
这将在回购协议中只留下三项承诺
请注意,要使其起作用,回购协议中的提交必须是草稿。您可能还需要激活mercurial附带的histedit扩展名。我会使用histedit
扩展名:
首先,让我们创建一个具有所需结构的测试回购:
hg init
echo "a" > file
hg ci -m "a"
echo "b" >> file
hg ci -m "b"
echo "c" >> file
hg ci -m "c"
echo "d" >> file
hg ci -m "d"
echo "e" >> file
hg ci -m "e"
echo "f" >> file
hg ci -m "f"
然后,执行hg histedit
,并在编辑器中输入以下选项:
pick e4c09693d7a6 0 a
r 380d6d1ef006 1 b
r 33131e82bb1b 2 c
r pick 9325fb48b48e 3 d
pick 844ebb0b3844 4 e
pick bc85bc9ade8f 5 f
这将在回购协议中只留下三项承诺
请注意,要使其起作用,回购协议中的提交必须是草稿。您可能还需要激活mercurial附带的histedit扩展。我假设您希望使用hg convert而不是仅仅“重新设置基础”?convert也会重写历史,但不会消除更改;否则,将来的更改可能取决于已删除的更改。您是否希望实际删除更改?我们无法理解您的问题,请更具体一些。我假设您希望使用hg convert而不是“重基”来执行更改,可能会重复此操作?convert
也会重写历史,但不会消除更改;否则,将来的更改可能取决于已删除的更改。您想实际删除更改吗?我们无法理解您的问题,请更具体一些。更改可能重复