Основы Git слияния и удаления веток

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

Работа с объединением и удалением ветвей

Давайте сначала создадим основную ветку, добавьте несколько коммитов, создайте новую ветку с именем features, добавьте несколько коммитов, затем вернитесь к мастеру и снова сделайте коммит. Вот команды:

$ mkdir mygame
$ cd mygame
$ git init
$ echo «Проектное решение 1: Brainstarm «>> design.txt
$ git add -A
$ git commit -m» C0: Started Project «
$ echo» Проектное решение 2: напишите код «>> design.txt
$ git add -A
$ git commit -m «C1: Отправленный код»
Возможности ветки $ git
Возможности $ git checkout
$ echo «Добавить функцию 1» >> feature.txt
$ git add -A
$ git commit -m «C2: Feature 1»
$ echo «Добавить функцию 2 «>> feature.txt
$ git add -A
$ git commit -m» C3: Feature 2 «
$ git checkout master
$ echo» Снова модифицируем мастер «>> design.txt
$ git add -A
$ git commit -m» C4: Master Modified «

Вышеуказанное команды создали следующую ситуацию:

Вы можете проверить историю из двух веток, чтобы увидеть, какие коммиты у них есть:

$ git status
На главном ветке
нечего коммитить, работайте ing директория clean
$ git log —oneline
2031b83 C4: Master Modified
1c0b64c C1: Отправленный код

Возможности $ git checkout
Переключен на ветку ‘features’

$ git log —oneline
93d220b C3: Feature 2
ad6ddb9 C2: Feature 1
1c0b64c C1: Отправленный код
ec0fb48 C0: Запущенный проект

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

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

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

Теперь давайте создадим слияние:

$ git функции слияния

Если при слиянии нет конфликтов, вы откроете текстовый редактор с комментариями:

‘features’ ветки слияния

# Пожалуйста, введите сообщение фиксации, чтобы объяснить, почему это слияние необходимо,
# особенно если оно объединяет обновленный апстрим в тему ветка.
#
# Строки, начинающиеся с ‘#’, будут игнорироваться, а пустое сообщение прерывает
# фиксацию.

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

Слияние, выполненное «рекурсивной» стратегией.
feature.txt | 2 ++
1 файл изменен, 2 вставки (+)
режим создания 100644 feature.txt

После слияния у вас будет следующее условие :

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

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

$ git log —oneline
46539a3 C5: Объединить ветвь ‘features’
2031b83 C4: Master Modified
93d220b C3: Feature 2
ad6ddb9 C2: Feature 1
1c0b64c C1: отправленный код
ec0fb48 C0: запущенный проект

Вы успешно объединили изменения. Однако ветка функций все еще присутствует.

$ git branch -a
features
* master

Вы можете удалить его с помощью следующей команды:

$ git branch -d features

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

$ git branch -a
* master

Заключение

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

Дополнительная информация:

  • https://git-scm.com/book/en/v2/Git-Branching-Basic-Branching-and-Merging
Оцените статью
nanomode.ru
Добавить комментарий