删除 TortoiseHG 中的修订版
Remove a revision in TortoiseHG
我知道这个 question 已经有人问过,我知道这违反了版本控制。但我们在布局等方面做了一些小改动,并希望删除 30 次修订的历史记录。
是否可以只删除这 30 个修订版或将它们合并为一个修订版?
好像 160 是最后一个大的,然后现在我们在 195,但介于两者之间的 35 都是相对较小的 css 变化,所以对我们来说并不是真正必要的。是否可以让他们像 161 一样然后从那里离开?
如果要删除修订 及其所有后代 ,只需启用 strip
扩展,然后右键单击 -> 修改历史 -> 删除变更集。
如果您想将它们折叠在一起,并且您还没有推过,您可以这样做:
- 在 TortiseHG 的设置中启用
histedit
扩展。
- 使用终端按钮打开终端。
- 键入
hg histedit 160
并按回车键。将 160 替换为适当的修订号。这部分可能需要几秒钟,所以如果终端似乎冻结,请不要惊慌。
- 文本编辑器 window 将打开,其中列出了自 160 以来所做的更改。将要合并的每一行前面的文本从
pick
更改为 fold
,更改为将该变更集与其上方的变更集结合起来。每次折叠后,系统还会提示您编辑提交消息。您可以使用 drop
删除变更集而不是折叠它们。
如果推送过,修改历史比较复杂;有关详细信息,请参阅 hg phases。
我发现使用 hg revert -r REV 比使用 histedit 更容易。
如果您已经推送了更改,请不要执行此操作。
观察正在合并的变更集都是 'draft' 个阶段。
- 更新到您要折叠的更改集中第一个更改集的父项。
- "hg revert -r REV -all"(其中 rev 是您要折叠的最后一个更改)(即提示 - 如果不是提示,则您必须在第 3 步和第 4 步之间执行变基步骤)。
- 承诺。
- 使用 strip 删除旧的变更集
最终结果:
如果能够直接从 thg gui 执行第 2 步,那就太好了,但我还没有找到执行此操作的方法。
我知道这个 question 已经有人问过,我知道这违反了版本控制。但我们在布局等方面做了一些小改动,并希望删除 30 次修订的历史记录。
是否可以只删除这 30 个修订版或将它们合并为一个修订版?
好像 160 是最后一个大的,然后现在我们在 195,但介于两者之间的 35 都是相对较小的 css 变化,所以对我们来说并不是真正必要的。是否可以让他们像 161 一样然后从那里离开?
如果要删除修订 及其所有后代 ,只需启用 strip
扩展,然后右键单击 -> 修改历史 -> 删除变更集。
如果您想将它们折叠在一起,并且您还没有推过,您可以这样做:
- 在 TortiseHG 的设置中启用
histedit
扩展。 - 使用终端按钮打开终端。
- 键入
hg histedit 160
并按回车键。将 160 替换为适当的修订号。这部分可能需要几秒钟,所以如果终端似乎冻结,请不要惊慌。 - 文本编辑器 window 将打开,其中列出了自 160 以来所做的更改。将要合并的每一行前面的文本从
pick
更改为fold
,更改为将该变更集与其上方的变更集结合起来。每次折叠后,系统还会提示您编辑提交消息。您可以使用drop
删除变更集而不是折叠它们。
如果推送过,修改历史比较复杂;有关详细信息,请参阅 hg phases。
我发现使用 hg revert -r REV 比使用 histedit 更容易。
如果您已经推送了更改,请不要执行此操作。
观察正在合并的变更集都是 'draft' 个阶段。
- 更新到您要折叠的更改集中第一个更改集的父项。
- "hg revert -r REV -all"(其中 rev 是您要折叠的最后一个更改)(即提示 - 如果不是提示,则您必须在第 3 步和第 4 步之间执行变基步骤)。
- 承诺。
- 使用 strip 删除旧的变更集
最终结果:
如果能够直接从 thg gui 执行第 2 步,那就太好了,但我还没有找到执行此操作的方法。