Що означає "походження" в "git push origin master"


95

Коли я біжу:

git push origin master

... що означає originцей контекст?


7
Подивіться у підручнику Git - "Коли ви працюєте в невеликій тісно пов'язаній групі, не рідко взаємодіяти з одним і тим же сховищем знову і знову. Визначивши скорочений текст віддаленого сховища, ви можете полегшити його". Якщо цього не зробити, за замовчуванням використовується джерело.
sakisk

1
Пов’язана публікація - Що таке „походження” в Git?
RBT

Відповіді:


74

origin- це назва за замовчуванням віддаленого сховища git, з якого ви клонували. Погляньте на свої джерела .git/refs/remotes/origin/*та .git/configв них, щоб дізнатись, як git знає про це.


7
Я б сказав, "клонував ваш репозиторій з" не "перевіряв ваші джерела з" - останнє є фразою переходу від централізованого VCS і може трохи ввести в оману початківців DVCS.
Cascabel

1
А як щодо команди git remote add origin? Чому б ви додали походження? stackoverflow.com/a/8248542/719689
AlxVallejo

5
git remote add originозначає додавання віддаленого сховища з назвою origin , яке не має особливого технічного значення, це просто широко використовувана назва за замовчуванням для оригінального віддаленого сховища. Ви можете використовувати foobar замість джерела, якщо хочете.
skuro

1
@AlxVallejo, який часто використовується, коли ви не клонували з цього сховища, а навпаки, ви створювали сховище локально та створювали джерело в іншому місці як віддалене репо.
Matt

4
@KasunSiyambalapitiya - це назва філії. З git push origin masterви говорите мерзотнику , щоб підштовхнути всі фіксації в даний час витягнутого місцевого відділення (тобто від файлової системи) в віддаленому репозиторій , ідентифікованого ім'ям originна його віддаленому філії їм master.
skuro

85

git має концепцію "віддалених" - це схожі на прості псевдоніми для сховища, тому вам не потрібно використовувати повну URL-адресу кожного разу, коли ви хочете звернутися до іншого сховища.

originє просто пультом дистанційного керування, як і будь-який інший, але ви бачите його дуже часто, оскільки, коли ви клонуєте сховище вперше, git cloneза замовчуванням буде встановлено пульт, який викликається originдля посилання на URL-адресу, з якої ви клонували.

Якщо ви це зробите git remote -v, ви побачите всі пульти дистанційного керування, які ви налаштували у своєму локальному сховищі, та URL-адреси, на які вони посилаються. (Ви побачите, що це дещо складніше, ніж я вже говорив вище, оскільки пульт може посилатися на іншу URL-адресу для надсилання та отримання, але вам, мабуть, не потрібно турбуватися про це. :))


А як щодо команди git remote add origin? Чому б ви додали походження? stackoverflow.com/a/8248542/719689
AlxVallejo

2
@AlxVallejo: Ви можете додати originпульт самостійно, якщо ви ініціалізували сховище самостійно, а не робили це через git clone.
Mark Longair

@MarkLongair, що ми використовуємо masterв кінці коду
Kasun Siyambalapitiya

35

Походження, де ви отримали код від походження -ally.


2
Для мене це не жарт, а мнемотехнічне правило - пам’ятати, що означає походження. І той, який мені подобається, до речі +1
МіГУ

Хоча мені подобається ваш жарт із татом, це не обов'язково правда. Я можу створити нове репо місцево і здійснити його, не знаючи віддаленого. Пізніше я можу створити віддалене іменоване джерело та надсилати до нього всі коміти, які я робив локально. Походження не повинно бути першоджерелом сховища.
Роб Белл

3

Це допомогло б

https://www.git-tower.com/learn/git/glossary/origin

n Git, "origin" - це скорочена назва віддаленого сховища, з якого спочатку клонували проект. Точніше, він використовується замість URL-адреси оригінального сховища - і тим самим робить посилання набагато простішим.

Зверніть увагу, що походження аж ніяк не є "магічним" ім'ям, а лише стандартною умовою. Хоча має сенс залишити цю конвенцію недоторканою, ви можете чудово перейменувати її, не втрачаючи жодної функціональності.

У наступному прикладі параметр URL-адреси команди "clone" стає "початком" для клонованого локального сховища:

клон git https://github.com/gittower/git-crash-course.git


2

origin віддалено створюється самим git, коли ви для першого клонування репо вказуєте URL-адресу, з якої ви створили клон. наприклад: origin git@github.com: / PROJECT_U


0

"Походження" - це назва віддаленого сховища, де ви хочете опублікувати свої коміти. За домовленістю віддалений сховище за замовчуванням називається "джерело", але ви можете одночасно працювати з декількома пультами (з різними іменами).

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.