gpt4 book ai didi

mercurial - Mercurial 中有没有办法删除本地提交?

转载 作者:行者123 更新时间:2023-12-03 04:10:16 24 4
gpt4 key购买 nike

所以我在 Mercurial 中不断犯一个愚蠢的错误。很多时候,我会在不执行“hg pull”和“hg update”的情况下开始工作。当我尝试推送更改时,出现错误。

有没有办法删除我的本地提交,这样我就可以避免创建多个头、分支等?我只想删除我的本地提交,将我的更改与提示 merge ,然后重新提交。听起来很简单,对吧?我似乎找不到任何方法来轻松删除本地提交,以便我可以干净地与提示 merge 。

同样,我只是想删除使用“hg ci”进行的本地提交。我不想修改文件、恢复等。

最佳答案

启用“strip”扩展并输入以下内容:

hg strip #changeset# --keep

其中 #changeset# 是您要删除的变更集的哈希值。这将删除上述变更集包括从其继承的变更集并且不会影响您的工作目录。如果您还希望恢复提交的代码更改,请删除 --keep 选项。

有关更多信息,请查看Strip Extension

如果您收到“未知命令‘strip’”,您可能需要启用它。为此,找到 .hgrcMercurial.ini 文件并向其中添加以下内容:

[extensions]
strip =
<小时/>

请注意(正如 Juozas 在他的评论中提到的)拥有多个头是 Mercurial 中的正常工作流程。您不应该使用 strip 命令来解决这个问题。相反,您应该将您的 head 与传入的 head merge ,解决所有冲突,测试,然后推送。

当您确实想要删除污染分支的变更集时,strip 命令非常有用。事实上,如果您位于this question如果您想永久完全删除所有“草稿”更改集,请查看 the top answer ,这基本上建议这样做:

hg strip 'roots(outgoing())'

关于mercurial - Mercurial 中有没有办法删除本地提交?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2338986/

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