Урок 60 із 65
92%
← Назад

Отримання змін із репозиторію

Отримання змін із віддаленого репозиторію за допомогою команд git fetch та git merge.

Отримання змін із віддаленого репозиторію в Git

У попередніх уроках ми навчилися відправляти свої зміни у віддалений репозиторій за допомогою команди git push.

Але у реальній роботі часто виникає протилежна ситуація: у віддаленому репозиторії з'явилися нові зміни, які потрібно отримати у свій локальний проєкт.

Це може відбуватися, коли над одним проєктом працюють декілька розробників або коли ви працюєте з різних комп'ютерів.

Команда git fetch

Для отримання інформації про нові зміни у віддаленому репозиторії використовується команда git fetch.

git fetch origin

Команда git fetch завантажує нові коміти з віддаленого репозиторію, але не змінює поточні файли у вашій робочій папці.

Куди потрапляють отримані зміни

Після виконання git fetch зміни зберігаються у спеціальній віддаленій гілці.

Назва такої гілки складається з імені віддаленого репозиторію та назви гілки через символ /.

origin/main

Наприклад, origin/main — це копія стану гілки main із віддаленого репозиторію origin.

Об'єднання змін із локальною гілкою

Після отримання змін через git fetch потрібно об'єднати їх зі своєю локальною гілкою.

git merge origin/main

Команда git merge додає отримані зміни до поточної локальної гілки.

GitHub

origin/main

        │
        │ git fetch origin
        ▼

Локальна копія

origin/main

        │
        │ git merge origin/main
        ▼

Поточна гілка main

Приклад роботи

Отримати зміни:

git fetch origin


Перейти у main:

git switch main


Об'єднати зміни:

git merge origin/main

Різниця між fetch та pull

Команда git fetch тільки завантажує інформацію про зміни. Вона не змінює ваші файли автоматично.

Команда git pull виконує отримання змін та їх об'єднання автоматично.

git pull = git fetch + git merge
❗ Важливо:

Команда git fetch є безпечним способом перевірити нові зміни перед їх об'єднанням у свій код.

📌 Завдання:
  1. Відкрийте свій репозиторій на GitHub.
  2. Змініть будь-який файл через веб-інтерфейс GitHub.
  3. Виконайте git fetch origin у локальному проєкті.
  4. Об'єднайте отримані зміни командою git merge origin/main.
  5. Перевірте результат у файлах проєкту.
💡 Показати підказку

Після git fetch зміни ще не з'являться у файлах. Спочатку потрібно виконати git merge origin/main.

✅ Показати відповідь
Приклад виконання:

Отримати зміни:

git fetch origin


Перейти у головну гілку:

git switch main


Об'єднати зміни:

git merge origin/main


Після цього зміни з GitHub з'являться у локальному проєкті.