【问题标题】:Phabricator arc land won't work because that there are multiple revisions on feature branchPhabricator arc land 不起作用,因为功能分支上有多个修订版
【发布时间】:2015-06-19 20:27:08
【问题描述】:

我有两个分支,从不同的点开始。它们大部分是相同的,除了其中一个有一些额外的提交。当我尝试降落那个时,我得到:

使用例外:功能分支“newbranch”上有多个修订版,而“devel”上不存在这些修订版: -D 新分支1 -D othernew 分支

将这些修订分开到不同的分支,或使用 --revision ' 来使用提交消息并将它们全部落地。

我找不到任何关于如何将修订分开到不同分支的指导,或者这甚至意味着什么。有没有办法解决这个问题?

【问题讨论】:

    标签: git phabricator


    【解决方案1】:

    我向我的开发人员建议他们需要使用--revision 来实现特定更改。

    语法:arc land --revision <diffID> --onto <branch>

    例如:arc land --revision D123 --onto develop

    注意:只有接受的修订才能登陆

    【讨论】:

    • -- revision D123 是被接受的修订版
    • 这对我不起作用。我收到此错误:“USAGE EXCEPTION TODO:您正在强制进行修订,但提交与其他一些修订相关联。” git rebase -i master 为我工作。
    【解决方案2】:

    虽然上述答案 (https://stackoverflow.com/a/30947476/181344) 是正确的,但如果您碰巧通过在 arc land 之上抽象的命令与 Phabricator 进行交互并且无法直接传递 --revision 参数,知道您还可以选择压缩来自不同修订版的提交,然后尝试再次登陆。

    完成压缩提交的方法不止一种。几个建议是:

    $ git checkout my-feature-branch && git reset --soft master && git commmit -am 'my new commit message'
    

    或者

    $ git rebase -i master
    

    【讨论】:

      【解决方案3】:

      如果运行后遇到合并冲突错误

      Syntax: arc land --revision <diffID> --onto <branchX>
      

      解决冲突的一种方法是删除您的本地 branchX 并再次拉出 origin/branchX,这对我有帮助

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2013-01-06
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2018-11-19
        相关资源
        最近更新 更多