mercurial - merge "creates new remote heads"后推送到远程存储库 - 是不是很糟糕?

标签 mercurial merge repository push

  • initialized关于 的 Mercurial 项目Machine A , committed我的更改和 uploaded它们到远程存储库。
  • 然后我cloned该存储库位于 Machine B , committed一些额外的变化和 uploaded它们到同一个远程存储库。

  • 在这两种情况下,我都使用相同的命令上传了更改:
    hg push https://username:password@domain/user/repository/
    

    现在我回到了机器 A 上,我已经 pull从远程存储库和 merg 编辑使用 KDiff3 编辑两个变更集之间的任何更改GUI工具使用命令:
    hg pull
    hg merge
    hg commit
    

    但是,当我尝试在此拉取和 merge 后将机器 A 的最新更改推送回远程存储库时,我收到以下消息:
    hg push https://username:password@domain/user/repository/
    pushing to https://username:password@domain/user/repository/
    searching for changes
    abort: push creates new remote heads!
    (did you forget to merge? use push -f to force)
    

    为什么说“你忘记 merge 了”? ——我完成了 merge 。

    强制推送并创建“新的远程头”是否不好?

    如果是这样,我该如何避免这种情况?

    更新:

    我再次运行“hg merge ”并得到以下输出:
    5 files updated, 1 files merged, 0 files removed, 1 files unresolved
    use 'hg resolve' to retry unresolved file merges or 'hg up --clean' to abandon
    

    所以我跑了' hg up --clean '它报告说:
    6 files updated, 0 files merged, 1 files removed, 0 files unresolved
    

    现在当我输入' hg heads ', 它说:
    changeset:   11
    tag:         tip
    parent:      9
    user:        eggdrop
    date:        Tue Oct 20 16:27:44 2009 -0400
    summary:     Machine A after merge
    
    changeset:   10
    parent:      7
    user:        chickensoup
    date:        Thu Oct 15 03:27:23 2009 -0400
    summary:     Machine B changes to be pulled onto Machine A
    

    最佳答案

    你跑了hg up --clean .这意味着您取消了 merge ,这意味着您仍然需要 merge 。 merge 时有一个未解析的文件。重新阅读您的错误消息:

    5 files updated, 1 files merged, 0 files removed, 1 files unresolved
    use 'hg resolve' to retry unresolved file merges or 'hg up --clean' to abandon
    

    您需要解决 merge 冲突,然后使用 hg resolve 完成 merge 。 .然后你就成功地 merge 了你的两个头。

    并回答您的问题:不,有两个远程头也不错。这只是意味着您需要在将其他任何内容推送到远程服务器之前 merge 它们(最好尽快)。

    所以要修复,只需运行 hg merge ,解决一个冲突,然后运行 ​​hg resolve .

    关于mercurial - merge "creates new remote heads"后推送到远程存储库 - 是不是很糟糕?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1597273/

    相关文章:

    Mercurial https 克隆 : "abort: error: (...) wrong version number"

    r - 合并两个 data.frames 并用 df2 的值替换 df1 某些列的值

    mongodb - 如何使用spring data mongodb存储库查询注释进行更新

    ios - 如何设置 TheBigBoss 微调图标?

    python - 如何保护我的 Python 代码库,使 guest 看不到某些模块,但它仍然有效?

    delphi - Delphi 的 Mercurial 插件

    Mercurial:全局忽略文件

    python - 在 Python 中合并字典的层次结构

    mercurial - Mercurial-查看所有修改文件中特定行的变更集

    java - 合并 K 个排序数组