Phabricator arc land 将无法工作,因为功能分支上有多个修订版

Phabricator arc land won't work because that there are multiple revisions on feature branch

我有两个分支,起点不同。它们大部分是相同的,除了其中一个有一些额外的提交。当我尝试着陆时,我得到:

用法异常:功能分支 'newbranch' 上有多个修订 'devel' 上不存在: -D 新分支1 -D 其他新分支

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

我找不到任何关于如何将修订分成不同分支的指南,或者这甚至意味着什么。有什么解决办法吗?

我向我的开发人员推荐他们需要使用 --revision 来进行特定更改。

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

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

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

虽然上述答案()是正确的,但如果您恰好处于通过抽象在 arc land 之上的命令与 Phabricator 交互的情况并且无法通过直接 --revision 参数,知道您还可以选择压缩来自不同修订版的提交,然后再次尝试着陆。

压缩提交的方法不止一种。一些建议是:

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

$ git rebase -i master

如果在运行

之后遇到合并冲突错误
Syntax: arc land --revision <diffID> --onto <branchX>

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