Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Вивчайте Основи Ребейзу | Більш Складні Робочі Процеси
Основи GitHub
course content

Зміст курсу

Основи GitHub

Основи GitHub

1. Вступ до GitHub
2. Базова Взаємодія з Віддаленими Репозиторіями
3. Більш Складні Робочі Процеси

book
Основи Ребейзу

Створення коміту в гілці main

Почнемо зі створення коміту безпосередньо у віддаленій гілці main, відредагувавши файл README.md у віддаленому репозиторії. Це призведе до розбіжності історії комітів між гілками main та feature/payment.

Ось рядок, доданий до файлу:

Ось відповідне повідомлення коміту:

Розуміння ребейзу

Як ми згадували у попередньому розділі, після того як гілка feature була перевірена та протестована, її можна і слід об'єднати назад у гілку main. До цього моменту ми використовували для цього лише команду git merge. Однак існує й інший підхід — використання команди git rebase.

Note
Дізнайтеся більше

Ребейз — це процес переміщення або об'єднання послідовності комітів до нової базової точки. Це здійснюється шляхом повторного застосування змін з однієї гілки на іншу, що призводить до лінійної історії комітів.

Коли ми створюємо гілку, Git відстежує останній коміт на обох гілках. Якщо нові зміни є лише в одній гілці, Git може виконати fast-forward і застосувати зміни. Однак якщо нові зміни є в обох гілках, Git створює новий коміт злиття, що призводить до тристороннього злиття.

Ось як виглядатиме тристороннє злиття у нашому випадку, де C4 був останнім комітом у гілці feature/payment перед злиттям:

Однак трьохстороннє злиття може ускладнити налагодження через розгалужену, нелінійну історію. За допомогою ребейзу ми змінюємо базу наших комітів і відтворюємо їх поверх нової бази, дозволяючи Git виконати швидке пряме злиття та підтримувати лінійну історію.

Нижче наведено анімацію, яка ілюструє, як можна виконати ребейз у нашому випадку (ідентифікатори комітів тут не відповідають реальним):

Note
Примітка

Коли ви виконуєте ребейз гілки, ви фактично переписуєте її історію. Це означає, що старі коміти замінюються новими, які мають інші ідентифікатори (хеш-суми), оскільки вони базуються на інших знімках коду. Як показано на анімації вище, ідентифікатор коміту у гілці feature/payment змінився після ребейзу.

question mark

Яка основна мета використання git rebase замість git merge?

Select the correct answer

Все було зрозуміло?

Як ми можемо покращити це?

Дякуємо за ваш відгук!

Секція 3. Розділ 4

Запитати АІ

expand

Запитати АІ

ChatGPT

Запитайте про що завгодно або спробуйте одне із запропонованих запитань, щоб почати наш чат

course content

Зміст курсу

Основи GitHub

Основи GitHub

1. Вступ до GitHub
2. Базова Взаємодія з Віддаленими Репозиторіями
3. Більш Складні Робочі Процеси

book
Основи Ребейзу

Створення коміту в гілці main

Почнемо зі створення коміту безпосередньо у віддаленій гілці main, відредагувавши файл README.md у віддаленому репозиторії. Це призведе до розбіжності історії комітів між гілками main та feature/payment.

Ось рядок, доданий до файлу:

Ось відповідне повідомлення коміту:

Розуміння ребейзу

Як ми згадували у попередньому розділі, після того як гілка feature була перевірена та протестована, її можна і слід об'єднати назад у гілку main. До цього моменту ми використовували для цього лише команду git merge. Однак існує й інший підхід — використання команди git rebase.

Note
Дізнайтеся більше

Ребейз — це процес переміщення або об'єднання послідовності комітів до нової базової точки. Це здійснюється шляхом повторного застосування змін з однієї гілки на іншу, що призводить до лінійної історії комітів.

Коли ми створюємо гілку, Git відстежує останній коміт на обох гілках. Якщо нові зміни є лише в одній гілці, Git може виконати fast-forward і застосувати зміни. Однак якщо нові зміни є в обох гілках, Git створює новий коміт злиття, що призводить до тристороннього злиття.

Ось як виглядатиме тристороннє злиття у нашому випадку, де C4 був останнім комітом у гілці feature/payment перед злиттям:

Однак трьохстороннє злиття може ускладнити налагодження через розгалужену, нелінійну історію. За допомогою ребейзу ми змінюємо базу наших комітів і відтворюємо їх поверх нової бази, дозволяючи Git виконати швидке пряме злиття та підтримувати лінійну історію.

Нижче наведено анімацію, яка ілюструє, як можна виконати ребейз у нашому випадку (ідентифікатори комітів тут не відповідають реальним):

Note
Примітка

Коли ви виконуєте ребейз гілки, ви фактично переписуєте її історію. Це означає, що старі коміти замінюються новими, які мають інші ідентифікатори (хеш-суми), оскільки вони базуються на інших знімках коду. Як показано на анімації вище, ідентифікатор коміту у гілці feature/payment змінився після ребейзу.

question mark

Яка основна мета використання git rebase замість git merge?

Select the correct answer

Все було зрозуміло?

Як ми можемо покращити це?

Дякуємо за ваш відгук!

Секція 3. Розділ 4
some-alt