В чем разница между "Push ..." и "Push to upstream ..." в Eclipse - PullRequest
34 голосов
/ 06 января 2012

При использовании «Push to upstream ...» в Eclipse, новые «локальные» коммиты отправляются в удаленный репозиторий, а ссылка на удаленную ветку обновляется в локальном репозитории (поэтому master и origin/master ссылаются на то же самое фиксации).

При использовании «Push ...» и добавлении push ref на master в окне мастера (refs/heads/*) новые «локальные» коммиты передаются в удаленный репозиторий (как ранее), но ссылка на удаленную ветвь не является обновлен в локальном репозитории (поэтому master ссылается на последний коммит, но origin/master не перемещен).

В чем разница между этими двумя способами работы? Полезно ли это для определенных децентрализованных рабочих потоков? Какими будут соответствующие команды git этих двух подходов?

Ответы [ 3 ]

16 голосов
/ 06 января 2012

Push to Upstream .. толкает вашу ветку так, как вы ожидаете для удаленной отслеживания ветки.

Push ... открывает диалоговое окно и позволяет вам указать, какие refspecs вы должны нажимать, включая теги, специальныетакие случаи, как HEAD: refs /heads / master и т. д.

То, что он не обновляет origin / master, кажется мне ошибкой, или, может быть, они ждут следующей выборки для обновления origin.Я бы открыл ошибку на https://bugs.eclipse.org/bugs/enter_bug.cgi?product=EGit&component=UI

PW

4 голосов
/ 09 января 2012

Как предложил Пол, я открыл ошибку в Egit's Bugzilla и получил там объяснение.

Когда используется «Push ...», EGit PushWizard вызывает команду JGit сURI хранилища, а не их имена.Вот почему JGit не может обновлять ветку удаленного отслеживания.

Ошибка все еще открыта, поэтому мы можем надеяться, что в следующем выпуске «Push ...» из «Сконфигурированного удаленного хранилища» обновит ветку удаленного отслеживания.

0 голосов
/ 06 апреля 2013

Push ... открывает диалоговое окно и позволяет вам указать, какие refspecs вы должны нажимать, включая теги, особые случаи, такие как HEAD: refs / head / master и т. Д.

Дополнительные настройки с помощью push доступны из представлений Git Repositories или Package Explorer, но вы должны выбрать правильный вариант.

С Git Repositories просмотр:

  1. Щелкните правой кнопкой мыши имя репо.
  2. Выберите Push
  3. Нажмите Next

OR

  1. Разверните папку Remotes.
  2. Щелкните правой кнопкой мыши на origin
  3. Выберите Configure Push...
  4. Нажмите кнопку Advanced

(Вы также можете развернуть origin, затем щелкнуть правой кнопкой мыши на Push и перейти к Configure Push..., затем нажать кнопку Advanced)

Из Package Explorer просмотра

  1. Щелкните правой кнопкой мыши папку проекта (самый верхний элемент).
  2. Team -> Remote -> Push -> Next (эквивалентно нажатию кнопки «Дополнительно» в приведенных выше действиях.)

OR

  1. Щелкните правой кнопкой мыши папку проекта (самый верхний элемент).
  2. Team -> Remote -> Configure Push to Upstream...
...