mercurial - 使用 Mercurial,如何在推送之前将一系列变更集 "compress" merge 为一个?

标签 mercurial push compression changeset

假设我有一个本地和一个远程 Mercurial 存储库。现在,我开始开发一个功能。我致力于它,当我认为它已经完成时,我提交变更集。多测试一下,我发现我可以通过调整代码中的某些内容来进一步改进此功能。我做出改变并 promise 。 20 分钟后,我发现这个新功能有一个 bug,所以我修复了它并提交了它。

我现在有 3 个变更集,我非常想将它们作为一个变更集推送到远程存储库,例如,带有消息“实现功能 X”。

我怎样才能轻松地做到这一点?我相信我可以通过补丁来做到这一点,但这似乎需要大量工作。

最佳答案

histedit 扩展正是您正在寻找的。

hg histedit -o

hg histedit --outgoing

将显示传出变更集的列表。从列表中您可以

  • 折叠 2 个或更多变更集,创建一个变更集
  • 删除变更集,将其从历史记录中删除
  • 按照您喜欢的方式重新排序变更集。

histedit 将提示您输入折叠变更集的新提交消息,默认为两条消息,并用“\n***\n”分隔它们。

您也可以使用 mq 扩展获得类似的结果,但要困难得多。

您还可以使用折叠扩展来进行折叠,但它没有提供很好的 UI,也没有提供编辑生成的提交消息的方法。编辑生成的提交消息还可以清理最终消息,这是我最终经常使用的东西。

关于mercurial - 使用 Mercurial,如何在推送之前将一系列变更集 "compress" merge 为一个?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1200691/

相关文章:

delphi - 使用 JclCompression 压缩文件

python zipfile 模块似乎没有压缩我的文件

amazon-s3 - 在 S3 上压缩文件

visual-studio-2010 - 如何在 Visual Studio 2010 中快速切换源代码控制提供程序?

templates - Mercurial 模板 : separator for tags and bookmarks

version-control - Mercurial 在有变化时返回 "no changes found"!

azure - 我可以从受密码保护的远程 Mercurial Repo 部署我的网站吗?

mercurial - 在 Mercurial (hg) 中,如果发出 "hg push",如何查看将推送的文件列表?

git - 推送到 git 存储库时管道损坏

javascript - Google App Engine channel API (Python/Django) 问题