我最近开始使用Mercurial,并且像我的个人开发没有将其检入到中央存储库一样拥有VCS保护,然后在准备好某些东西时将其推送到中央回购站团队的其他成员。Mercurial提交消息从本地到中央存储库
当我“hg commit”时,我写了一个提交消息,与自上次提交以来相关的增加有关。在我准备将东西推送到中央之前,我可能会有5个左右的地方提交。当我推送时,如果我没有指定修订版本,我所有的本地提交和它们的消息都会被添加到中央存储库中,但我不想用我所有的本地小步骤混淆中央日志。当我推送并指定本地修订版时,我认为只有修订版和其提交消息被推送了,对吗?
问题是,我想推送一个提交消息,总结我所有的本地“离线”工作,因为这就是我真正添加的内容。然而,推送的提交消息是我最近写的。假设我正在研究功能A,并且我有五个本地提交; “添加了A.1”“添加了A.2”“清除了foo.cpp中的代码”等等,以“添加了A.4”结尾。我想要要登录到中央存储库是“添加A,清理foo.cpp”,但如果我推入最后一个修订版,它只会看到“已添加A.4”。现在,当我推送之前需要在本地进行合并的中央更新时,我的本地提交消息是“合并提示”。很明显,这不是一个很好的提交信息。
这里有什么好的做法?我不知道有任何机制来更改现有的提交消息,或推送新的提交消息。我不想对本地repo进行简单的更改,只是为了在更改之前输入新的提交消息;这很愚蠢。我必须错过一些东西,因为这看起来很基本。还是我没有想过正确的方式?
我选择了这个解决方案,因为它看起来像“崩溃”真的是我正在寻找。它会允许我放弃在本地进行的任何小改进,然后在共享我的更新之前收拾一个或几个更全面的变更集。我意识到,在某些情况下,如果它不能再看到所有的小步骤,可能会削弱mercurial的合并,所以我会小心的。谢谢。 – jasper77 2010-08-18 15:17:49