Mercurial 工作流程 : why do I seem to commit everything twice?

标签 mercurial merge workflow commit

我正在努力掌握 Mercurial 的基础知识,所以请多多包涵。 :) 我目前的工作流程如下:

  • 做一些工作,直到我准备好提交或需要其他人的更改
  • 此时我想将我的工作与最新的变更集 merge 并提交,但是 Mercurial 坚持要求我在 merge 之前提交
  • 所以它就像“提交、 merge 、提交”,我基本上提交所有内容两次,在两个变更集中写相同的注释并一次推送两个变更集

是故意这样的吗?每次 merge 是否有可能只有一个变更集来 self ?真的值得吗?

我看了很多在线手册,但仍然觉得我对这个过程的理解不够透彻。欢迎所有评论。谢谢!

编辑:原来我不知道更新可以将传入的更改与未提交的编辑 merge 。

最佳答案

merge 总是在 Mercurial 中创建一个单独的变更集。

另外,只要您的本地存储库中有未提交的内容,就无法 merge 。
所以解决方案是先commit,再pull merge 。
这将始终导致两个变更集,而不是一个。
(...因为 merge 总是会创建一个单独的变更集)

但是您不会两次提交相同的内容,尤其是您不应该两次编写相同的提交消息:

第一次提交是您实际更改的内容(“修复了 foo 栏中的错误”)。
第二次提交只是 merge (TortoiseHG 实际上用“merge ”预填充了提交消息,99% 的时间我就这样保留它)。

关于Mercurial 工作流程 : why do I seem to commit everything twice?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12166812/

相关文章:

tfs - 如何将 Mercurial (Hg) 源代码存储库迁移到 TFS?

version-control - 如何忽略本地存储库中的 .hgignore?

r - 将R中的多个二进制列合并为一列并保留位置

windows - 从 Windows 命令行启动 mercurial hg web 服务器

mercurial - 如何使用 Mercurial 集成主要修订?

android - 如何在其他调用运行时以编程方式合并调用(电话 session )

merge - 将多个查询作为一个结果处理

c# - 这是工作流式系统的良好设计吗?

javascript - 我可以在创建实体工作流步骤表单上有一个加载脚本吗?

python - Plone:拦截工作流转换并以编程方式将其更改为另一个