Git

Основи на сливането и изтриването на клонове на Git

Основи на сливането и изтриването на клонове на Git
Клонът може да ви помогне да поддържате работата си организирана. Трябва обаче да можете да обедините работата си, за да направите работата последователна. Ако никога не обедините и изтриете клоновете, историята ви може да стане твърде хаотична, за да бъде разбрана.

Работа с обединяване и изтриване на клонове

Нека първо да създадем главен клон, да поставим няколко фиксации, да създадем нов клон, наречен функции, да добавим няколко фиксации, след това да се върнем към мастер и да извършим отново. Ето командите:

$ 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: Функция 1"
$ echo "Добавяне на функция 2" >> функция.текст
$ git add -A
$ git commit -m "C3: Функция 2"
$ git checkout master
$ echo "Промяна на мастер отново" >> дизайн.текст
$ git add -A
$ git commit -m "C4: Master Modified"

Горните команди създадоха следната ситуация:

Можете да проверите историята на двата клона, за да видите какви ангажименти имат:

$ git статус
На клона майстор
няма нищо за ангажиране, работната директория е чиста
$ git log --oneline
2031b83 C4: Master Modified
1c0b64c C1: Подаден код
 
$ git checkout функции
Превключено към „функции“ на клон
 
$ git log --oneline
93d220b C3: Функция 2
ad6ddb9 C2: Функция 1
1c0b64c C1: Подаден код
ec0fb48 C0: Стартиран проект

Сега нека предположим, че искате да внесете всички промени от разклонението на характеристиките в нашия главен клон. Ще трябва да започнете процеса от местоназначението на сливането. Тъй като искаме да се слеем в главния клон, трябва да стартирате процеса от там. Така че нека проверим главния клон:

$ git checkout master
Превключено към клон „master“
 
$ git статус
На клона майстор
няма нищо за ангажиране, работната директория е чиста

Сега нека създадем сливането:

$ git функции за сливане

Ако няма конфликти в сливането, ще получите текстов редактор с коментари:

Обединяване на клон „функции“
 
# Моля, въведете съобщение за ангажиране, за да обясните защо е необходимо това сливане,
# особено ако обединява актуализиран нагоре поток в клон на тема.
#
# Редове, започващи с '#', ще бъдат игнорирани и празно съобщение ще се прекъсне
# ангажирането.

Можете да модифицирате коментарите или да приемете тези по подразбиране. Изходът за сливане трябва да показва резултати като този:

Обединяване, направено от "рекурсивната" стратегия.
особеност.txt | 2 ++
1 файл е променен, 2 вмъквания (+)
функция за създаване на режим 100644.текст

След сливането имате следното условие:

Ако проверите дневниците, ще намерите:

$ git статус
На клона майстор
няма нищо за ангажиране, работната директория е чиста
 
$ git log --oneline
46539a3 C5: Обединяване на разклонения „функции“
2031b83 C4: Master Modified
93d220b C3: Функция 2
ad6ddb9 C2: Функция 1
1c0b64c C1: Подаден код
ec0fb48 C0: Стартиран проект

Успешно сте обединили промените. Клонът на функциите обаче все още присъства.

$ git клон -a
Характеристика
* майстор

Можете да го изтриете със следната команда:

$ git клон -d функции

Ако проверите сега, трябва да видите само главния клон:

$ git клон -a
* майстор

Заключение

Уверете се, че редовно проверявате за неизползвани клонове и ги изтривате. Искате да поддържате хранилището си чисто, за да улесните навигацията и разбирането.

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

HD Remastered Games за Linux, които никога преди не са имали издание на Linux
Много разработчици и издатели на игри излизат с HD ремастер на стари игри, за да удължат живота на франчайза, моля феновете, които искат съвместимост ...
Как да използвам AutoKey за автоматизиране на Linux игри
AutoKey е програма за автоматизация на настолни компютри за Linux и X11, програмирана в Python 3, GTK и Qt. Използвайки неговата функционалност за скр...
Как да покажа брояч на FPS в игрите на Linux
Linux игрите получиха голям тласък, когато Valve обяви поддръжка на Linux за Steam клиент и техните игри през 2012 г. Оттогава много AAA и независими ...