2017-02-07 7 views
-1

Это ситуация, когда мне нужно было сделать. У меня есть ветвь в моем локальном, скажем testBranch (в котором содержится модифицированный файл file.txt). Я уже нажал testBranch на удаленный git push origin testBranch. Поэтому я не могу дуги различий, так что другие люди могут просматривать свой код через Phabricator (так как я уже толкнул)arc diff ветвь, которая уже нажата на удаленный, создавая новую ветку в git

Что мой коллега сделал создать новую ветку, скажем 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 

Теперь другие могут просмотреть измененный file.txt в newBranch1 через Phabraicator. Я понятия не имею, что происходит и почему это работает. Может ли кто-нибудь объяснить, почему это работает?

ответ

1

Arcanist (arc) - это предварительный обзор кода (a.k.a. pre-push). Как только ветвь подталкивается к происхождению, она победила цель заклинателя. После того, как вы нажали, у вас есть несколько вариантов:

  1. Удалить ветку по происхождению с помощью git push origin --delete testBranch.
  2. При запуске команды arc diff сообщите, что вы хотите использовать ее так: arc diff origin/master.
  3. Выполните шаги, описанные выше, однако, вы должны отметить, что на приведенных выше строках нет git-push, что и является решением проблемы.
Смежные вопросы