Основы ветвления Git
Возможность простого перехода — одна из лучших особенностей Git. Создание веток в других системах контроля версий может быть дорогостоящим с точки зрения требований к пространству и обработке. Ветвление Git эффективно. Таким образом, пользователи более склонны использовать ветки в Git.
Рабочий процесс ветвления
Предположим, вы начали новый проект под названием myvideogame . Имеет единственную ветку. Имя по умолчанию начальной ветки в Git называется master. Он создается автоматически. Давайте создадим репозиторий Git myvideogame.
$ cd myvideogame
$ git init
Вы создали пустой репозиторий Git. Давайте добавим наш файл design.txt с некоторым текстом в нем.
$ echo » Проектное решение 2: напишите код «>> design.txt
$ git add -A
$ git commit -m» C0: добавлен файл дизайна «
Давайте добавим еще несколько изменений:
$ git add -A
$ git commit -m «C1: измененный файл дизайна»
Если вы проверите историю, вы найдете:
6a09bd6 C1: измененный файл дизайна
5f18d89 C0: добавлен файл дизайна
Если вы проверите статус Git и все веток, которые были созданы (с помощью команды: git branch -a), вы увидите:
На главном сервере ветки
ничего не нужно фиксация, рабочий каталог чистый
$ git branch -a
* master
В настоящее время у вас есть следующая ситуация:
Вы сделали две фиксации в e master ветка.
Предположим, вы обнаружили ошибки при тестировании игры, но вы не хотите решать проблему в главной ветке, потому что вы не хотите связываться с исходным дизайна пока нет. Итак, вы можете создать новую ветку с именем bugfix:
Теперь, если вы проверите все ветки:
bugfix
* master
Теперь вы создали новую ветку называется исправлением. Ситуацию можно представить так:
Однако звездочка (*) рядом с главной веткой означает, что вы все еще находитесь в главной ветке. Если вы внесете изменения, он все равно попадет в главную ветку. Вы можете использовать команду checkout для изменения ветвей:
Переключено на ветку ‘bugfix’
Вы можете проверить, какую ветку вы используете, с помощью команды status или «branch -a»:
Исправление ошибки ветки
ничего не фиксировать, рабочий каталог чист
$ git branch -a
* bugfix
master
Теперь, давайте исправим ошибку:
$ git add -A
$ git commit -m «C2: Ошибка исправлена 1»
Вы создали такую ситуацию:
В главной ветке нет изменения C2. В этом легко убедиться, проверив историю двух веток.
Во-первых, история ветки исправления ошибок:
Исправление ошибки ветки
нечего фиксировать, рабочий каталог очищен
$ git log —oneline
e8f615b C2: Ошибка исправлена 1
6a09bd6 C1: измененный файл дизайна
5f18d89 C0: добавлен файл дизайна
Затем вы можете переключиться на главную ветку и проверить ее историю:
Переключился на ветку ‘master’
$ git status
На ветке master
нечего фиксация, очистка рабочего каталога
$ git log —oneline
6a09bd6 C1: измененный файл дизайна
5f18d89 C0: добавлен файл дизайна
Вы можете видеть, что в главной ветке нет изменений из ветки с исправлениями ошибок.
Вы всегда можете создать новую ветку из текущей ветки, в которой вы находитесь. Предположим, вы хотите создать еще одну ветку, которая будет содержать экспериментальные функции. Вы можете создать ветку из master и добавить к ней экспериментальные функции:
На ветке master
нечего фиксировать, рабочий каталог clean
$ git ветка экспериментальная
$ git checkout экспериментальная
Переключена на ветку ‘экспериментальная’
$ git status
В ветке экспериментальный
нечего фиксировать, рабочий каталог чистый
$ echo «Добавление возможностей эксперимента» >> design.txt
$ git add -A
$ git commit -m «C3: добавлены экспериментальные функции»
[экспериментальные 637bc20] C3: добавлены экспериментальные функции
1 файл изменен, 1 вставка (+)
Если вы проверите историю своей экспериментальной ветки, вы увидите:
В ветке экспериментальный
нечего фиксировать, рабочий каталог чистый
$ git log —oneline
637bc20 C3: добавлены экспериментальные функции
6a09bd6 C1: Измененный файл дизайна
5f18d89 C0: добавлен файл дизайна
Вы заметите, что y у вас нет коммита C2, который был создан в ветке с исправлением ошибок. Поскольку экспериментальная ветка создается из основной ветки, исправления ошибок в ней не обнаруживаются. У вас следующая ситуация:
Заключение
Поздравляем! Вы научились создавать ветки.
Ветки Git создавать легко и быстро. Это одна из причин популярности Git. Если вы хотите стать опытным пользователем Git, вам необходимо хорошо разбираться в ветвлении Git.
Дальнейшее изучение:
https ://git-scm.com/book/en/v2/Git-Branching-Basic-Branching-and-Merging