✘ ⚡ 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.
git checkout -b feature_xxx
— 创建一个新分支,并修改代码git add . && git commit -m tt
— 将该提交的都提交上去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.
- 以上操作之后,系统会发送邮件通知 reviewers 去 review 你的代码,你也可以通过
arc list
来查看当前 review 的状态 - 后续
- 如果 review 没有通过,你需要在原来的基础上修改,修改完并 commit 之后需要执行
arc diff [last_commit] --update D(id)
继续 review - 如果 review 通过了,只需要运行
arc land --onto some_branch
, arc 会将你当前分支合并到 master 上,并删除当前分支
- 如果 review 没有通过,你需要在原来的基础上修改,修改完并 commit 之后需要执行
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…