Предыдущий ролик Следующий ролик  

Видео урок: Просмотр и создание бранчей

Git: обучение основам

В этом ролике мы изучим, как создавать бранчи. Для начала давайте рассмотрим наш текущий бранч. Все бранчи в локальном репозитории можно просмотреть при помощи команды git branch. Сама по себе git branch покажет список бранчей, находящихся на локальном компьютере. У меня он только один, и это основной бранч, бранч по умолчанию. Вы видите, что рядом с ним стоит звездочка. Это говорит о том, что сейчас я нахожусь в этом бранче. Мы относимся к нему как к текущему бранчу или к бранчу, где был сделан чекаут. Вы помните наше обсуждение указателя HEAD, и то, что ссылка на указатель HEAD хранится в папке .git.

Итак, cat .git/HEAD, и здесь мы видим, что файл содержит ссылку на бранчи, поскольку HEAD всегда указывает на верхушку бранча. Итак, HEAD говорит - все верно, вот бранч, в котором я сейчас нахожусь - и мы можем зайти в эту папку, чтобы выяснить, что сейчас является актуальной верхушкой. Можно написать ls -la .git/refs/HEADs, давайте так и сделаем, не будем прописывать master, и мы увидим список всех бранчей, перечисленных тут.

Когда мы создаем новые бранчи, они будут показаны здесь, и вот добавлена новая ссылка в папке HEADs. Если мы посмотрим, что здесь есть, .git/refs/heads /master, вы увидите, что здесь содержится SHA, который указывает на коммит, это верхушка текущего бранча, oneline, вот она. Вы видите, что указан данный коммит. Теперь, когда вы уже хорошо понимаете, что происходит в вашем текущем бранче, давайте создадим новый бранч. Мы делаем это снова при помощи команды git branch, но в этот раз мы даем имя новому бранчу.

Я назову свой new_feature, а вы можете назвать, как хотите. Здесь не может быть пробелов, и вы не должны использовать пунктуацию. То есть можно использовать буквы, цифры и подчеркивания. Итак, git branch new_feature, нажимаю Return, и Git создает для меня новый бранч. Как я узнаю, что он это сделал? Ну, git branch, и вот он здесь. Я все еще нахожусь в основном бранче. Это бранч, где был сделан чекаут, и это бранч, где я работаю на данный момент. HEAD до сих пор указывает на основной бранч. Про переключение бранчей мы поговорим в следующем ролике. Прежде чем мы это сделаем, давайте посмотрим, что было создано в нашей папке git; ls -la .git/refs/heads, и вот мы все видим.

Для new_feature есть ссылка в refs/heads. Как вы думаете, на что указывает HEAD? .git/refs/heads/new_ feature, он указывает на тот же коммит, поскольку я не сделал больше никаких изменений. Он до сих пор указывает на этот коммит. То есть, есть два бранча, где указан один коммит. Как только мы начнем вносить изменения в один из них и делать новые коммиты, тогда эти значения изменятся. Давайте посмотрим на .git/HEAD, и мы увидим, что он до сих пор указывает на мастер-бранч, это бранч, где был сделан чекаут.

В следующем ролике мы поговорим о том, как переключиться на новый бранч.