arc diff 会合并提交一个范围内的所有 commit 为一条 revision,默认范围是 git merge-base origin/master HEAD 到 HEAD。可以通过 arc diff <commit> 指定范围为从 git merge-base <commit> HEAD 到 HEAD。
我们可以通过 arc which 查看 arc diff 的 commit 范围。
当我们想合并的是中间的部分 commit 的时候,可以这么做:
$ git branch revision
$ git checkout revision
$ git reset --hard <last-commit>
$ arc diff <first-commit>
当 revision 被通过,我们可以通过 arc land <branch> 来合并 branch 到 master 分支,然后 push 到远端仓库。
有其他需求,详询官方文档:https://secure.phabricator.com/book/phabricator/article/arcanist_diff/
来源:oschina
链接:https://my.oschina.net/u/2313378/blog/768475