phabricator

34 阅读3分钟
✘ ⚡ root@oldsix  /data2/repository/caoyong_test_mr  ↱ master  arcanist install-certificate
 CONNECT  Connecting to "http://phabricator.knowdee.com:8888/api/"...
LOG IN
Open this page in your browser and log in if necessary:

http://phabricator.knowdee.com:8888/conduit/login/

Then paste the API Token on that page below.

    Paste API Token from that page: api-4jcoz5z3ti4ghvwgbrelt6s2rlib
You are installing a standard API token, but a CLI API token was expected. If you're writing a script, consider passing the token at runtime with --conduit-token instead of installing it.

    Install this token anyway? [y/N] y

Writing ~/.arcrc...
 SUCCESS!  API Token installed.
  1. git checkout -b feature_xxx — 创建一个新分支,并修改代码
  2. git add . && git commit -m tt — 将该提交的都提交上去
  3. arc diff [last_commit]
    • 此命令会将 last_commit 到最新的 commit 之间的改动的所有代码发送到 phabricator 平台,并创建一个 revision;
    • 如果没有指定 last_commit,则会使用 master 分支来作为 last_commit 的起点。
    • 运行命令后会弹出一个编辑面板,在此面板中你需要指定 reviewers,即指定一个或多个给你 review code 的人
    • 如果指定了多个 reviewers,则其中任何一个 review 通过就可以,不用全部 review 通过
    • 另外编辑面板中也有一个 test plan 选项,国外人一般每个项目都有测试,所以此项是必填的,如果没有测试,我们只需要随便设置一个字段即可,比如设置成 no 或 skip
    • 如果觉得指派reviewer的用法不太方便,可以执行arc diff --preview根据生成的diff页面进入配置,生成revision.
  4. 以上操作之后,系统会发送邮件通知 reviewers 去 review 你的代码,你也可以通过 arc list 来查看当前 review 的状态
  5. 后续
    • 如果 review 没有通过,你需要在原来的基础上修改,修改完并 commit 之后需要执行 arc diff [last_commit] --update D(id) 继续 review
    • 如果 review 通过了,只需要运行 arc land --onto some_branch, arc 会将你当前分支合并到 master 上,并删除当前分支

git常用命令:

git add .  // stage 所有文件(如果有删除的不行)
git add - -all  // stage所有文件,包括新添加的和删除的
git commit -am "xxx"  // 相当于stage 然后 commit。但是**不会包含新添加的文件**
git commit -a --amend -C HEAD  // update还未push的commit, -C 表示重用上次的注释信息
git show  // 查看上次commit所做的修改,good
git diff HEAD^  // 查看上次commit和workingspace的 diff
git branch -a  // 查看所有本地和远端的分支
// git checkout --track -b origin/daves_branch // 默认新建跟远端一样的分支
git checkout --track -b localBranchName origin/remoteBranchName  // 切换到远程分支并track
git fetch -p // fetch 并删除不存在的远端跟踪分支(prune)
git reset --hard <HASH>  // 回退到某个版本

arc常用命令:

arc diff  // 提交默认的diff,这个需要切换到master分支上做修改,本地将x分支merge到master上,然后后在arc diff
arc diff xxx --preview  // 提交针对某个分支的commit,并只生成diff文件,不在web端创建revision
arc which // 查看arc diff 会提交哪个范围的diff
arc land  // 提交代码,删除该分支 or 使用 git push 并合并到master
arc list // 查看有哪些revision和其状态

安装phabricator

cd /var/www/html/phabricator/phabricator/
./bin/config set mysql.host localhost
./bin/config set mysql.port 3306
./bin/config set mysql.user root
./bin/config set mysql.pass <your-MySQL-root-password>
./bin/storage upgrade

blog.51cto.com/paradox/612… blog.51cto.com/u_12113362/… blog.51cto.com/paradox/612…

blog.csdn.net/qq_20417499… blog.csdn.net/inthat/arti… www.jianshu.com/p/b1a75a146…