可以在Phabricator中以bitbucket风格进行拉取请求吗?
例如 . 分支一些现有分支然后创建拉(合并)请求以合并新分支?
我看到Phabricator差分工具只允许向某个分支提交一些手动输入的差异 . 这是唯一的方法吗?
不,请参阅https://secure.phabricator.com/T5000以跟踪此功能请求 .
差分的主要输入应该是Arcanist,即Phabricator命令行工具 . 它包装git并提供lint,unit和其他precommit检查,以帮助减少审查代码所花费的时间 . 例如,它可以在提交审核之前发出补丁并修改代码 .
https://secure.phabricator.com/book/phabricator/article/arcanist/
您可以将 git 和 arc 混合在一起,但它确实违背了如何使用 arc diff .
git
arc
arc diff
你可以改用 audit ,虽然我没有详细说明下面的内容(我还没有使用过审计) .
audit
下面,我试图解释我们的新工作流程,从 git-flow 到使用 git 和 arc diff 的改编版本 .
git-flow
在我们开始使用 Phabricator 之前,我们使用了 Gitlab 并创建了合并请求 . 这些将由另一位开发人员审核 . 我们使用 JIRA 并且我们的工作流程包含一个 review required 阶段,该阶段在进行测试之前有几个检查 .
Phabricator
Gitlab
JIRA
review required
此时,我们已将分支推送到远程,请求审核并等待测试发生(我们混合了手动和自动测试) .
一旦审核被接受并且测试已通过,则功能分支将合并到 origin/develop 中 .
origin/develop
我们的新工作流程无需在 Gitlab 内创建合并请求,尤其是在审核时 .
我的团队仍然使用包含 git-flow 的工作流程,但是,我们已经引入了 arc diff 命令 . 这在Phabricator中创建了差异 . 开发人员将其分支推送到远程,但不会引发合并请求 .
我们在创建diff时运行以下命令(合并到 origin/develop )
git checkout -b feature/foo git add <files> git commit -m "A useful commit message" git push origin feature/foo arc diff origin/develop # this creates the diff within diffusion
一旦审查被接受,我们不合并(或 arc land )分支机构,我们等待所有测试进行 . 这允许我们在测试失败时更新差异,并且审阅的开发人员可以轻松查看哪些提交需要审阅 .
arc land
一旦测试通过,我们可以简单地合并,使用 gitlab 合并请求或命令行 . 我们通常运行 arc close-revision <revision-id> 来关闭Phabricator本身的修订版 .
gitlab
arc close-revision <revision-id>
我相信 arc diff 的理念是你不要推动你的本地分支 . 而是创建一个扩散显示的 diff . 这被归类为 pre-push 工作流程 .
diff
pre-push
Phabricator还具有 post-push 工作流程,其中包含审计功能 . 您可以通过修改提交消息来标记准备好进行审核的提交 .
post-push
2 回答
不,请参阅https://secure.phabricator.com/T5000以跟踪此功能请求 .
差分的主要输入应该是Arcanist,即Phabricator命令行工具 . 它包装git并提供lint,unit和其他precommit检查,以帮助减少审查代码所花费的时间 . 例如,它可以在提交审核之前发出补丁并修改代码 .
https://secure.phabricator.com/book/phabricator/article/arcanist/
您可以将
git
和arc
混合在一起,但它确实违背了如何使用arc diff
.你可以改用
audit
,虽然我没有详细说明下面的内容(我还没有使用过审计) .下面,我试图解释我们的新工作流程,从
git-flow
到使用git
和arc diff
的改编版本 .背景
在我们开始使用
Phabricator
之前,我们使用了Gitlab
并创建了合并请求 . 这些将由另一位开发人员审核 . 我们使用JIRA
并且我们的工作流程包含一个review required
阶段,该阶段在进行测试之前有几个检查 .此时,我们已将分支推送到远程,请求审核并等待测试发生(我们混合了手动和自动测试) .
一旦审核被接受并且测试已通过,则功能分支将合并到
origin/develop
中 .新工作流程
我们的新工作流程无需在
Gitlab
内创建合并请求,尤其是在审核时 .我的团队仍然使用包含
git-flow
的工作流程,但是,我们已经引入了arc diff
命令 . 这在Phabricator中创建了差异 . 开发人员将其分支推送到远程,但不会引发合并请求 .我们在创建diff时运行以下命令(合并到
origin/develop
)一旦审查被接受,我们不合并(或
arc land
)分支机构,我们等待所有测试进行 . 这允许我们在测试失败时更新差异,并且审阅的开发人员可以轻松查看哪些提交需要审阅 .一旦测试通过,我们可以简单地合并,使用
gitlab
合并请求或命令行 . 我们通常运行arc close-revision <revision-id>
来关闭Phabricator本身的修订版 .补充说明
我相信
arc diff
的理念是你不要推动你的本地分支 . 而是创建一个扩散显示的diff
. 这被归类为pre-push
工作流程 .Phabricator还具有
post-push
工作流程,其中包含审计功能 . 您可以通过修改提交消息来标记准备好进行审核的提交 .