arc diff一个已经通过在git中创建一个新分支而推送到远程的分支

时间:2017-02-07 18:27:04

标签: git phabricator

这是我需要做的事情。 我在本地有一个分支,比如testBranch(包含一个修改过的文件file.txt)。 我已经通过git push origin testBranch将testBranch推送到远程。 所以我不能使用diff来让其他人通过Phabricator查看我的代码(因为我已经推了)

我的同事所做的是创建一个新的分支,比如testBranch1如下:

git checkout testBranch
git merge master            // merge master to testBranch

git checkout master
git pull --rebase           // git pull while my local update reserved

git checkout testBranch
git merge master             // merge master to testBranch

git checkout master
git merge testBranch          // merge testBranch to master

git reset origin/master      // set the current HEAD to origin/master in my local
git checkout -b testBranch1
arc diff

现在其他人可以通过Phabraicator查看newBranch1中的修改后的file.txt。我不知道发生了什么以及为什么会这样。任何人都可以解释为什么这有用吗?

1 个答案:

答案 0 :(得分:1)

Arcanist(arc)是一个预先提交(a.k.a. pre-push)代码审查。一旦分支被推到原点,它就已经击败了奥术师的目的。推动后,您有几个选择:

  1. 使用git push origin --delete testBranch删除原点上的分支。
  2. 运行arc diff命令时,请告诉它您想要建立的内容,如下所示:arc diff origin/master
  3. 请执行上述步骤,但是,您应该注意,以上几行没有git推动,这就是解决问题的方法。