Вы должны прочитать модель 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 намного проще, чем для централизованных систем.