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
Синхронізація Репозиторіїв

Як згадувалося у попередньому розділі, необхідно синхронізувати нашу локальну гілку з віддаленим репозиторієм. Для цього слід виконати команду git pull:

Коли ми виконали команду git pull, Git отримав оновлення, але помітив, що наші локальна та віддалена гілки розійшлися — тобто, зміни є на обох гілках і їх потрібно узгодити. Git не може продовжити, оскільки йому потрібно знати, як обробити ці відмінності, тому встановимо опцію merge і знову виконаємо команду git pull:

Note
Примітка

Операцію rebase буде розглянуто пізніше у цьому курсі.

Git спробував автоматично об'єднати локальні та віддалені зміни у файлі README.md, але виник конфлікт злиття. Розглянемо дерево комітів, яке показує, де саме відбулося розходження та виникли конфлікти:

Вирішення конфлікту

Як видно, наш поточний локальний коміт і коміт у віддаленій гілці main мають спільного предка, але розходяться, що призводить до конфлікту злиття, який потрібно вирішити. Для цього відкриємо файл README.md у редакторі Vim:

Щоб вирішити цей конфлікт, потрібно увійти в режим вставки, натиснувши i, видалити маркери конфлікту та об'єднати ці зміни наступним чином:

Далі натисніть клавішу Escape, введіть :wq і натисніть клавішу Enter, щоб зберегти зміни та вийти з Vim. Тепер, щоб завершити злиття, файл README.md потрібно додати до області індексації, а потім зафіксувати за допомогою відповідних команд:

Note
Примітка

Після виконання команди git commit відкриється текстовий редактор за замовчуванням (найімовірніше, Vim). Ви можете залишити повідомлення коміту за замовчуванням і вийти з Vim так само, як ми щойно зробили, або відредагувати повідомлення і потім вийти.

Нарешті, можна безпечно виконати команду git push і переконатися, що трьохстороннє злиття пройшло успішно, переглянувши дерево комітів:

Розгляньмо, що ми зробили у цих двох главах:

  1. Ми змоделювали співпрацю, вносячи зміни як локально, так і віддалено у файл README.md;

  2. Спочатку ми зафіксували зміну безпосередньо у віддаленому репозиторії, а потім внесли іншу зміну локально;

  3. Коли ми спробували відправити локальні зміни, зіткнулися з конфліктом, оскільки у віддаленому репозиторії з’явилися нові оновлення;

  4. Щоб вирішити це, ми отримали зміни з віддаленого репозиторію, що призвело до конфлікту злиття;

  5. Далі ми вручну вирішили конфлікт у файлі README.md за допомогою редактора Vim, зафіксували вирішені зміни та успішно відправили фінальні оновлення у віддалений репозиторій.

question mark

Яка команда встановлює для Git використання злиття (merge), а не rebase, під час виконання git pull?

Select the correct answer

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

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

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

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

Запитати АІ

expand

Запитати АІ

ChatGPT

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

course content

Зміст курсу

Основи GitHub

Основи GitHub

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

book
Синхронізація Репозиторіїв

Як згадувалося у попередньому розділі, необхідно синхронізувати нашу локальну гілку з віддаленим репозиторієм. Для цього слід виконати команду git pull:

Коли ми виконали команду git pull, Git отримав оновлення, але помітив, що наші локальна та віддалена гілки розійшлися — тобто, зміни є на обох гілках і їх потрібно узгодити. Git не може продовжити, оскільки йому потрібно знати, як обробити ці відмінності, тому встановимо опцію merge і знову виконаємо команду git pull:

Note
Примітка

Операцію rebase буде розглянуто пізніше у цьому курсі.

Git спробував автоматично об'єднати локальні та віддалені зміни у файлі README.md, але виник конфлікт злиття. Розглянемо дерево комітів, яке показує, де саме відбулося розходження та виникли конфлікти:

Вирішення конфлікту

Як видно, наш поточний локальний коміт і коміт у віддаленій гілці main мають спільного предка, але розходяться, що призводить до конфлікту злиття, який потрібно вирішити. Для цього відкриємо файл README.md у редакторі Vim:

Щоб вирішити цей конфлікт, потрібно увійти в режим вставки, натиснувши i, видалити маркери конфлікту та об'єднати ці зміни наступним чином:

Далі натисніть клавішу Escape, введіть :wq і натисніть клавішу Enter, щоб зберегти зміни та вийти з Vim. Тепер, щоб завершити злиття, файл README.md потрібно додати до області індексації, а потім зафіксувати за допомогою відповідних команд:

Note
Примітка

Після виконання команди git commit відкриється текстовий редактор за замовчуванням (найімовірніше, Vim). Ви можете залишити повідомлення коміту за замовчуванням і вийти з Vim так само, як ми щойно зробили, або відредагувати повідомлення і потім вийти.

Нарешті, можна безпечно виконати команду git push і переконатися, що трьохстороннє злиття пройшло успішно, переглянувши дерево комітів:

Розгляньмо, що ми зробили у цих двох главах:

  1. Ми змоделювали співпрацю, вносячи зміни як локально, так і віддалено у файл README.md;

  2. Спочатку ми зафіксували зміну безпосередньо у віддаленому репозиторії, а потім внесли іншу зміну локально;

  3. Коли ми спробували відправити локальні зміни, зіткнулися з конфліктом, оскільки у віддаленому репозиторії з’явилися нові оновлення;

  4. Щоб вирішити це, ми отримали зміни з віддаленого репозиторію, що призвело до конфлікту злиття;

  5. Далі ми вручну вирішили конфлікт у файлі README.md за допомогою редактора Vim, зафіксували вирішені зміни та успішно відправили фінальні оновлення у віддалений репозиторій.

question mark

Яка команда встановлює для Git використання злиття (merge), а не rebase, під час виконання git pull?

Select the correct answer

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

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

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

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