【问题标题】:Modify the Commit Message of a Pushed Commit. (Mercurial) [duplicate]修改 Pushed Commit 的 Commit Message。 (水银)[重复]
【发布时间】:2013-04-01 00:53:58
【问题描述】:

我在 bitbucket 上创建了一个虚拟存储库来尝试学习如何做到这一点。我已经在 Git 中看到过这种情况,但我不确定这在 Hg 中是否可行。

我有以下 hg 日志:

changeset:   3:742dd9f71f46
tag:         tip
user:        RHsu
date:        Tue Apr 09 09:58:55 2013 -0400
summary:     added some text to 3

changeset:   2:dd431695edcd
user:        RHsu
date:        Tue Apr 09 09:58:30 2013 -0400
summary:     Let's try to amend this commit

changeset:   1:b59ed9c945f9
user:        RHsu
date:        Tue Apr 09 09:58:15 2013 -0400
summary:     added some text to t1

changeset:   0:a8a24f3831ab
user:        RHsu
date:        Tue Apr 09 09:52:32 2013 -0400
summary:     Add text files for testing

这些变更集已推送到 bitbucket。如何修改changeset2的提交信息?

编辑:我尝试过使用histedit,但这只会改变本地提交。然后当我推动时,会创建两个头。

编辑:与其他问题不同,因为此问题涉及编辑已推送到 bitbucket 的提交。

【问题讨论】:

    标签: mercurial commit bitbucket


    【解决方案1】:

    Bitbucket 有一个剥离函数,可用于从存储库中剥离变更集。这就是你必须使用的东西才能摆脱你不想要的头。您可以通过https://bitbucket.org/<user>/<repo>/admin/strip 找到它。您还可以在网页上查看您的 repo 时单击小齿轮图标,然后它会向您显示管理界面,其中有一个用于剥离变更集的部分。

    【讨论】:

    • 这似乎是删除变更集而不是修改提交消息。
    • @Rhs:在 git 中,您正在做的是使用新的提交消息创建一个新的变更集,并告诉它忘记旧的变更集。所以基本上是等价的。你可以告诉这是发生了什么,因为你的变更集在你推送提交消息后有一个新的哈希。
    • 有什么值得期待的; Mercurial 的未来版本将支持 Changeset Evolution 功能,如果您对其进行修改,它将自动传播旧变更集的“遗忘”。
    猜你喜欢
    • 2018-05-30
    • 2015-06-25
    • 2014-02-26
    • 1970-01-01
    • 2018-05-29
    • 2012-12-14
    • 1970-01-01
    • 2019-12-29
    • 1970-01-01
    相关资源
    最近更新 更多