Работа со слиянием и удалением ветки
Давайте сначала создадим основную ветку, добавим несколько коммитов, создадим новую ветку с именем features, добавим несколько коммитов, затем вернемся к мастеру и снова сделаем коммит. Вот команды:
$ mkdir mygame$ cd mygame
$ git init
$ echo "Решение 1: Brainstarm" >> дизайн.текст
$ git add -A
$ git commit -m "C0: Проект запущен"
$ echo "Решение 2: напишите код" >> дизайн.текст
$ git add -A
$ git commit -m "C1: отправленный код"
Особенности ветки $ git
Возможности $ git checkout
$ echo "Добавить функцию 1" >> функция.текст
$ git add -A
$ git commit -m "C2: Feature 1"
$ echo "Добавить функцию 2" >> функция.текст
$ git add -A
$ git commit -m "C3: Feature 2"
$ git checkout master
$ echo "Снова модифицируя мастера" >> дизайн.текст
$ git add -A
$ git commit -m "C4: Master Modified"
Вышеупомянутые команды создали следующую ситуацию:
Вы можете проверить историю двух веток, чтобы узнать, какие у них есть коммиты:
$ git statusО мастере филиала
ничего не фиксировать, рабочий каталог чист
$ git log --oneline
2031b83 C4: Модифицированный Мастер
1c0b64c C1: Отправленный код
Возможности $ git checkout
Перешел на ветку "особенности"
$ git log --oneline
93d220b C3: Характеристика 2
ad6ddb9 C2: Функция 1
1c0b64c C1: Отправленный код
ec0fb48 C0: Проект запущен
Теперь предположим, что вы хотите перенести все изменения из ветки функций в нашу главную ветку. Вам нужно будет начать процесс с места назначения слияния. Поскольку мы хотим слиться с основной веткой, вам нужно инициировать процесс оттуда. Итак, давайте посмотрим на основную ветку:
$ git checkout masterПерешел на ветку master
$ git status
О мастере филиала
ничего не фиксировать, рабочий каталог чист
Теперь создадим слияние:
$ git функции слиянияЕсли в слиянии нет конфликтов, откроется текстовый редактор с комментариями:
Слияние ветки 'особенности'# Пожалуйста, введите сообщение фиксации, чтобы объяснить, почему это слияние необходимо,
# особенно если он объединяет обновленный апстрим в тематическую ветку.
#
# Строки, начинающиеся с '#', будут игнорироваться, а пустое сообщение прерывается
# коммит.
Вы можете изменить комментарии или принять комментарии по умолчанию. Результат слияния должен выглядеть следующим образом:
Слияние по «рекурсивной» стратегии.характерная черта.txt | 2 ++
1 файл изменен, 2 прошивки (+)
создать режим 100644 функция.текст
После слияния у вас будет следующее условие:
Если вы проверите журналы, вы найдете:
$ git statusО мастере филиала
ничего не фиксировать, рабочий каталог чист
$ git log --oneline
46539a3 C5: объединить ветку "функции"
2031b83 C4: Модифицированный Мастер
93d220b C3: Характеристика 2
ad6ddb9 C2: Функция 1
1c0b64c C1: Отправленный код
ec0fb48 C0: Проект запущен
Вы успешно объединили изменения. Тем не менее, функциональная ветка все еще присутствует.
$ git branch -aОсобенности
* владелец
Вы можете удалить его с помощью следующей команды:
$ git branch -d особенностиЕсли вы проверите сейчас, вы должны увидеть только главную ветку:
$ git branch -a* владелец
Заключение
Убедитесь, что вы регулярно проверяете неиспользуемые ветки и удаляете их. Вы хотите, чтобы ваш репозиторий был чистым, чтобы упростить навигацию и понимание.
Дальнейшее чтение:
- https: // git-scm.com / book / en / v2 / Git-Branching-Basic-Branch-and-Merging