Главная    Разработка ПО    Системы контроля версий: начинаем работать с GIT

Начинаем работать с системой контроля версий GIT (для чайников)

(Часть 4.3.12. Объединяем ветки)

1. Устанавливаем Git.
2. Создаем репозиторий Git.
3. Устанавливаем SmartGit для работы с репзиторием.
4. Основы Работа с репозиторием Git.
4.1. Создаем проект для работы с репозиторием.
4.2. Добавляем первый файл в локальный репозиторий.
4.3. Вносим изменение в локальный репозиторий.
4.3.1. Добавляем строки в файл.
4.3.2. Изменяем строки в файле.
4.3.3. Удаляем строки из файла.
4.3.4. Отменяем изменения до загрузки в локальный репозиторий.
4.3.5. Добавляем новые файлы в репозиторий.
4.3.6. Удаляем файл из репозитория.
4.3.7. Просматриваем историю изменений репозитория.
4.3.8. Изменяем комментарий коммита.
4.3.9. Отменяем последний коммит.
4.3.10. Создаем новую ветку.
4.3.10.1. Новая ветка относительно последнего коммита.
4.3.10.2. Новая ветка относительно выбранного коммита.
4.3.11. Удаляем ветку.
4.3.12. Объединяем ветки.
4.3.13. Конфликты и их разрешение.
4.3.14. Добавляем выбранный коммит из одной ветки в другую.
4.3.15. Rebase или как упростить историю коммитов.
4.4. Работа с удаленным репозиторием.
4.4.1. Настраиваем связь между сервером и клиентом по SSH.
4.4.2. Клонируем репозиторий с ЭВМ-сервера на ЭВМ-клиент.
4.4.3. Основы работы с удаленным репозиторием.
5. Заключение.


4.3.12. Объединяем ветки.

История изменений ветки master.

Чтобы на примере рассмотреть объединение веток (master и next) добавим пару изменений в ветку next и master.

Итак, переключаемся на ветку master (если вы еще не в ней), как это описано в пункте 4.3.10.1. В рабочем каталоге вносим изменения в файл main.c так, чтобы текст фала имел вид:

#include < stdio.h >

int main (void)
{
int k=0;
printf (“Hello word!!!\n”);

return k;
}

Добавленные строки выделены синим. Сохраним внесенные в файл изменения и добавим их в репозиторий, как описано в пункте 4.3.1, с комментарием «Changes in the master branch».

История изменений ветки master приведена на рисунке 38.

История изменений ветки next.

Переключаемся на ветку next, как это описано в пункте 4.3.10.1. В рабочем каталоге вносим изменения в файл main.c так, чтобы текст файла имел вид:

#include < stdio.h >
#include < unistd.h >
int main (void)
{
printf (“Hello word!!!\n”);
sleep (5);

return 0;
}

Добавленные строки выделены синим. Сохраним внесенные в фал изменения и добавим их в репозиторий, как описано в пункте 4.3.1, с комментарием «First changes in the next branch»

История коммитов, после внесения изменения в ветку next, приведена на рисунке 39.

И так, теперь мы имеем две ветки, в каждой из которых сделаны свои независимые друг от друга изменения в файле main.c. Давайте разберемся, как объединить эти изменения в ветке master.

Переключаемся в ветку Master как это описано в пункте 4.3.10.1. В основном окне программы SmartGit жмем кнопку «Merge»:

Кнопка Merge.

В открывшемся окне (рисунок 40) жмем кнопку «Branches». В следующем открывшемся окне (рисунок 41) отмечаем ветку Next, как это показано на рисунке и закрываем окно, нажав close.

Окно объединения веток Выбор отображаемых веток

В окне «Merge» изменилась история коммитов, стала одновременно отображаться история коммитов ветки master и ветки next (рисунок 42).

В этом окне выбираем последнее изменение ветки next, отмеченное значком Кнопка Next., и жмем кнопку «Create Merge-Commit» если хотим результат объединения сразу сохранить в ветку master, или кнопку «Merge to Working Tree» если хотим объединить ветки, но результат пока не сохранять в репозитории. Для наглядности я выберу второй вариант.

После нажатия на кнопку «Merge to Working Tree» в рабочем каталоге будут объединены изменения веток master и next.

Чтобы изменения отобразились в окне SmartGit нажмите кнопку «Unstage»:

Кнопка Unstage.

После выбора файла main.c результат объединения веток отобразится во вкладке Сhanges. Вид основного окна программы SmartGit после объединения веток приведен на рисунке 43.

Окно объединения веток. Результат объединения веток.

Как видите, во вкладке Files изменился статус файла main.c на «есть изменения». Во вкладке Changes показано, какие именно внесены изменения.

Сохраняем результат объединения веток в репозиогий, нажав кнопку:

Кнопка commit.

В открывшемся окне вам будет предложено ввести описание коммита, по умолчанию «Merge branch ‘Next’». Вы можете оставить это описание или ввести свое. Я оставляю предложенное по умолчанию. Для сохранения изменения в репозиторий нажмите “«commit».”

Всё, объединение веток завершено. Однако при объединении ветоr часто возникают конфликты, речь о которых пойдет в следующей главе.


<<< Предыдущий раздел      Следующий раздел >>>


Яндекс.Метрика

Рейтинг@Mail.ru