GIT: Проблемы понимания соглашения об именах филиалов - PullRequest
2 голосов
/ 12 декабря 2010

У меня проблемы с пониманием различий между «master», «origin master», «origin / master», «remotes / origin / master» !!Есть ли какое-либо правило для именования веток GIT?Я предполагаю, что 'origin master' - это основная ветвь в хранилище, тогда как origin / master - мое локальное отражение главной ветви хранилища, тогда что такое remotes / origin / master ?!Кроме того, иногда мне приходится использовать origin / master для ссылки на основную ветку хранилища (хотя я забываю случай, но чувствую, что раньше занимался такими вещами), почему это так?

1 Ответ

4 голосов
/ 12 декабря 2010

Вы должны прочитать модель git ветвления , чтобы понять это правильно.Однако следующее - быстрое и грязное объяснение.

Ветви в git - это указатели на определенные узлы в дереве коммитов DAG.Они будут двигаться, когда вы выполняете некоторые операции (например, фиксация).master - это один из таких указателей, который по умолчанию создается при инициализации свежего репозитория.Это ваша "основная ветвь" (так сказать).

Поскольку git является распределенной системой управления версиями, существует разница между вашим локальным и удаленным хранилищем (например, в github).Они называются remote s, и при первом клонировании пульт, с которого вы клонировали, автоматически создается и получает имя origin (т. Е., Откуда появился ваш код).

Когда вы говорите <remote>/<branch>, он ссылается на местоположение указателя <branch> не на вашем локальном клоне, а на <remote>.Так что, если после клонирования вы сделаете 10 коммитов в ваш локальный филиал, master (ваш локальный филиал) будет на 10 коммитов вперед origin/master.Чтобы понять, что мы говорим о пульте, используется соглашение remotes/<remote_name>/<branch_name>.

Я думаю, вам нужно прочитать книгу, на которую я ссылаюсь, прежде чем использовать git.Это немного не интуитивно понятно для людей, приходящих из системы контроля версий, такой как svn или других.Модель ветвления для git намного проще, чем для централизованных систем.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...