gpt4 book ai didi

mercurial - 在 mercurial 中撤销多次提交 (15)

转载 作者:行者123 更新时间:2023-12-01 00:56:18 26 4
gpt4 key购买 nike

我有“测试”分支,其中有 15 次不正确的提交(它们是该分支中的最后一次提交)。我不需要这些提交,我想将它们撤回。但我还需要有“测试”分支,我不能只是关闭它。

  • 如何撤销多次提交?用 mercurial standart backout 做这件事太难了,会有太多的提交和 merge 。有没有办法将所有回退提交 merge 到一个大提交中?
  • 有没有办法重命名分支并关闭它?

  • 所有更改都存在于远程服务器上。这些更改不是整个 repo 中的最后一个,它们是仅在 test-branch 中的最后一个变更集。

    最佳答案

    如果您需要将变更集保留在历史记录中(特别是因为您无法确定它们可以是 strip -ed 从每个仓库中),您有几个选择:

    1) 只需提交一个 --close-branch测试分支的提示,update到该分支上良好的最后一个修订版,然后使用来自那里的新提交重新打开您的测试分支。这是有效的,因为命名分支可以有多个头。

    2) 使用 hg revert -r <last good rev>并提交。这应该使工作目录与 <last good rev> 完全一样然后您可以提交变更集,这有效地撤消了您要删除的 15 个变更中发生的事情。我会用 hg diff -r <last good rev>以确保它完全正确,因为您可能需要修复已添加或删除的文件。

    如果您可以 strip来自服务器的更改(如 @Dalija's answer 中所述),但希望在本地保留一个版本以备将来使用,请查看 hg phase 强制相位为 secret本地后 strip - 来自其他地方的他们。这样你仍然可以拥有它们,但默认情况下它们不会被推送。

    关于mercurial - 在 mercurial 中撤销多次提交 (15),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27601375/

    26 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com