在Phabricator中撤消最后一个差异

时间:2014-08-04 00:17:09

标签: git phabricator

我在Phabricator中有一个开放式修订版(使用Git),并使用arc diff命令向此修订版提交了一个diff。

问题在于这种差异是坏的,所以我想撤消它并回到之前的差异。

你知道我该怎么办?

3 个答案:

答案 0 :(得分:5)

免责声明:我的Git经验有限,目前我正在使用Phabricator和SVN。

假设您没有其他本地更改,则可以还原您的工作副本,然后arc patch --diff <diff_id>,其中diff ID显示在Revision Update History表的ID列中。然后像往常一样arc diff --revision <rev_id>进行更新。我认为它在技术上不是删除,但它与伪修订控制一起使用。将跟踪错误和更正。

答案 1 :(得分:3)

目前不支持此功能。您可以通过遵循altendky推荐的流程或任何类似的流程(即,再次运行arc diff并使您的工作副本处于正确状态),将坏差异替换为新的良好差异。

这是我们打算最终添加的功能。您可以在此处跟踪上游的进度:

https://secure.phabricator.com/T1081(因未胜利而关闭)

答案 2 :(得分:3)

我经常犯错误的分歧。

第一步是撤消差异。我们无法从修订历史中删除差异,但我们可以将其还原。

$ arc patch --diff <diff_id> # last good diff
$ arc diff --update <revision_id> <branch> # "reverts" the offending diffs to the current state

此时您的修订版已恢复原状。如果你想再次执行差异,那么就做你通常做的事情。 使用针对差异的更改检出分支,然后执行差异

$ git checkout <new_branch>
$ arc diff <source_branch> # new_branch has changes that is intended to be merged into source_branch

归功于列出大部分步骤的altendky。但是,他引用的revision标志不再存在,我还希望更清楚地列出这些步骤。