使用 Phabricator 来 code review

本地开发流程:

# 新建一个分支 develop
git checkout -b develop

# 修改本地文件,然后提交
git add .
git commit -m "message"

# 检查代码规范
arc lint

# 提交 code review
arc diff
# 提交 code review 之后,在浏览器里操作,填写Title、Summary、Test Plan、Reviewers

# 得到修改意见,在本地修改后再次提交 code review(这个 revision 是上次创建 code review 时的 id,比如 D1234)
arc diff --update 1234
# --update 1234 也可以不加,默认会合到上一个 review 中

# reviewer 已经 Accept 之后,提交代码
arc land develop
# 如果报错找不到对应的 revision,带上 revision 号(比如 1234):
arc land --revision 1234
# land 之后,feature branch 会被自动删除
# land 使用后会将当前分支 merge 或者 squash merge 到 master 分支,提供详细的提交信息,推送到 master 并且删除本地分支
arc diff
arc diff origin/develop

通过执行arc help land,可以找到land推送到的target的顺序:

A target branch is selected by examining these sources in order:

  - the --onto flag;
  - the upstream of the current branch, recursively (Git only);
  - the arc.land.onto.default configuration setting;
  - or by falling back to a standard default:
    - "master" in Git;
    - "default" in Mercurial.
arc land # 默认的target是master,将当前分支推到master
arc land --onto foo/bar # 将当前分支推到foo/bar
arc land develop
arc land develop --onto foo/bar
arc set-config arc.land.onto.default foo/bar

在 ~/.arcrc 文件里有相应改动:

cat ~/.arcrc
{
  "hosts": {
    "https://phabricator.xxx.ai/api/": {
      "token": "xxx"
    }
  },
  "config": {
    "arc.land.onto.default": "foo/bar"
  }
}

参考:

使用 Phabricator 来 code review

Phabricator User Documentation

你可能感兴趣的:(alan)