Основы Git Branch

Основы ветвления Git

Возможность простого перехода — одна из лучших особенностей Git. Создание веток в других системах контроля версий может быть дорогостоящим с точки зрения требований к пространству и обработке. Ветвление Git эффективно. Таким образом, пользователи более склонны использовать ветки в Git.

Рабочий процесс ветвления

Предположим, вы начали новый проект под названием myvideogame . Имеет единственную ветку. Имя по умолчанию начальной ветки в Git называется master. Он создается автоматически. Давайте создадим репозиторий Git myvideogame.

$ mkdir myvideogame
$ cd myvideogame
$ git init

Вы создали пустой репозиторий Git. Давайте добавим наш файл design.txt с некоторым текстом в нем.

$ echo «Решение 1: добавление изображений» >> design.txt
$ echo » Проектное решение 2: напишите код «>> design.txt
$ git add -A
$ git commit -m» C0: добавлен файл дизайна «

Давайте добавим еще несколько изменений:

$ echo «Решение 3: Тестовая игра» >> design.txt
$ git add -A
$ git commit -m «C1: измененный файл дизайна»

Если вы проверите историю, вы найдете:

$ git log —oneline
6a09bd6 C1: измененный файл дизайна
5f18d89 C0: добавлен файл дизайна

Если вы проверите статус Git и все веток, которые были созданы (с помощью команды: git branch -a), вы увидите:

$ git status
На главном сервере ветки
ничего не нужно фиксация, рабочий каталог чистый

$ git branch -a
* master

В настоящее время у вас есть следующая ситуация:

Вы сделали две фиксации в e master ветка.

Предположим, вы обнаружили ошибки при тестировании игры, но вы не хотите решать проблему в главной ветке, потому что вы не хотите связываться с исходным дизайна пока нет. Итак, вы можете создать новую ветку с именем bugfix:

$ git branch bugfix

Теперь, если вы проверите все ветки:

$ git branch -a
bugfix
* master

Теперь вы создали новую ветку называется исправлением. Ситуацию можно представить так:

Однако звездочка (*) рядом с главной веткой означает, что вы все еще находитесь в главной ветке. Если вы внесете изменения, он все равно попадет в главную ветку. Вы можете использовать команду checkout для изменения ветвей:

$ git checkout bugfix
Переключено на ветку ‘bugfix’

Вы можете проверить, какую ветку вы используете, с помощью команды status или «branch -a»:

$ git status
Исправление ошибки ветки
ничего не фиксировать, рабочий каталог чист

$ git branch -a
* bugfix
master

Теперь, давайте исправим ошибку:

$ echo «Исправление ошибки 1» >> дизайн. txt
$ git add -A
$ git commit -m «C2: Ошибка исправлена ​​1»

Вы создали такую ​​ситуацию:

В главной ветке нет изменения C2. В этом легко убедиться, проверив историю двух веток.

Во-первых, история ветки исправления ошибок:

$ git status
Исправление ошибки ветки
нечего фиксировать, рабочий каталог очищен

$ git log —oneline
e8f615b C2: Ошибка исправлена ​​1
6a09bd6 C1: измененный файл дизайна
5f18d89 C0: добавлен файл дизайна

Затем вы можете переключиться на главную ветку и проверить ее историю:

$ git checkout master
Переключился на ветку ‘master’

$ git status
На ветке master
нечего фиксация, очистка рабочего каталога

$ git log —oneline
6a09bd6 C1: измененный файл дизайна
5f18d89 C0: добавлен файл дизайна

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

Вы всегда можете создать новую ветку из текущей ветки, в которой вы находитесь. Предположим, вы хотите создать еще одну ветку, которая будет содержать экспериментальные функции. Вы можете создать ветку из master и добавить к ней экспериментальные функции:

$ git status
На ветке master
нечего фиксировать, рабочий каталог clean

$ git ветка экспериментальная
$ git checkout экспериментальная
Переключена на ветку ‘экспериментальная’
$ git status
В ветке экспериментальный
нечего фиксировать, рабочий каталог чистый

$ echo «Добавление возможностей эксперимента» >> design.txt

$ git add -A

$ git commit -m «C3: добавлены экспериментальные функции»
[экспериментальные 637bc20] C3: добавлены экспериментальные функции
1 файл изменен, 1 вставка (+)

Если вы проверите историю своей экспериментальной ветки, вы увидите:

$ git status
В ветке экспериментальный
нечего фиксировать, рабочий каталог чистый

$ 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

Оцените статью
nanomode.ru
Добавить комментарий