Я знаю, origin - это термин для удаленного репозитория, а master - это там ветка.
Я намеренно опускаю здесь «контекст» и надеюсь, что ответ не должен зависеть от контекста. Итак, в командной строке git, в чем разница между origin / master и origin master . Есть ли недвусмысленный способ понять, когда использовать origin / master и когда мне следует использовать origin master ?
Ответы:
Здесь на самом деле три вещи:
origin master
это две разные вещи, иorigin/master
это одна вещь. Всего три вещи.Две ветви:
master
это местный филиалorigin/master
является удаленной ветвью (которая является локальной копией ветки с именем «master» на удаленной станции с именем «origin»)Один пульт:
origin
это пультПример: тянуть в два этапа
Поскольку
origin/master
это ветвь, вы можете объединить ее. Вот тяга в два этапа:Шаг первый, получить
master
с пультаorigin
.master
Ветвь наorigin
будет неправдоподобным и локальная копия будет называтьсяorigin/master
.Тогда вы сливаетесь
origin/master
сmaster
.Затем вы можете отправить свои новые изменения
master
обратно вorigin
:Больше примеров
Вы можете получить несколько веток по имени ...
Вы можете объединить несколько филиалов ...
источник
git remote add home my-server:projects/my-project
добавляет пульт с именем «home». Вы можете обратиться к документации: git-scm.com/docs/git-remoteorigin/master
является сущностью (поскольку это не физическая ветвь), представляющей состояниеmaster
ветки на удаленном компьютереorigin
.origin master
это веткаmaster
на пультеorigin
.Итак, у нас есть эти:
Пример (в местном филиале
master
):источник
origin master
это не ветка ... на самом деле это две разные вещи, "origin" (удаленный) и "master" (локальная ветвь).origin/master
это удаленная главная ветка. Местное отделение - просто мастер.origin/master
это удаленнаяmaster
веткаОбычно после выполнения операции,
git fetch origin
чтобы принести все изменения с сервера, вы должны выполнитьgit rebase origin/master
операцию, чтобы перебазировать ваши изменения и переместить ветку к последнему индексу. Здесьorigin/master
имеется в виду удаленная ветвь, потому что вы в основном говорите GIT перебазироватьorigin/master
ветку на текущую ветку.Вы бы использовали
origin master
при нажатии, например.git push origin master
просто говорит GIT отправить в удаленный репозиторий локальнуюmaster
ветку.источник
origin master
это говорит программному обеспечению делать что-то с тем, что находится на «master» в репозитории «origin».origin/master
является ссылкой так же, какf3a4d5
иHEAD
есть.origin - это имя для удаленного URL-адреса git. Ниже может быть много других примеров пультов.
что касается origin / master (например, bangalore / master), это указатель на «master» commit на сайте bangalore . Вы видите это в своем клоне.
Возможно, что удаленный бангалор продвинулся с тех пор, как вы сделали «выборку» или «извлечение»
источник
Учитывая тот факт, что вы можете переключиться
origin/master
(хотя и в отключенное состояние), когда сетевой кабель отключен, это должно быть локальное представлениеmaster
филиала вorigin
.источник