Skip to main content

Чим локальний репозиторій відрізняється від віддаленого?

Локальний і віддалений репозиторії в Git відрізняються місцем зберігання, призначенням та способом роботи з ними, хоча з точки зору Git обидва містять одну й ту саму структуру даних (коміти, гілки, об'єкти).


Локальний репозиторій

Локальний репозиторій - це Git-репозиторій, що знаходиться на комп'ютері розробника.

Характерні особливості:

  • знаходиться в директорії проєкту та папці .git
  • містить повну історію комітів
  • має робочу директорію з файлами проєкту
  • дозволяє працювати без інтернету
  • використовується для:
    • редагування файлів
    • створення комітів
    • експериментів з гілками
    • локального відкату змін

Усі зміни спочатку потрапляють саме в локальний репозиторій.


Віддалений репозиторій

Віддалений репозиторій - це Git-репозиторій, розташований на сервері (GitHub, GitLab, Bitbucket, корпоративний сервер).

Характерні особливості:

  • доступний по мережі
  • найчастіше є bare-репозиторієм (без робочої директорії)
  • використовується як точка обміну між розробниками
  • слугує резервною копією проєкту
  • не редагується напряму, зміни потрапляють у нього тільки через push

Ключові відмінності

1. Місце зберігання

  • локальний - на комп'ютері розробника
  • віддалений - на сервері

2. Призначення

  • локальний - робота з кодом та історія змін
  • віддалений - синхронізація та спільна робота

3. Робоча директорія

  • локальний - є файли проєкту
  • віддалений - зазвичай відсутня

4. Залежність від інтернету

  • локальний - не потрібна
  • віддалений - потрібна для доступу

5. Створення комітів

  • локальний - коміти створюються
  • віддалений - коміти тільки приймаються

Як вони взаємодіють

  • зміни створюються локально
  • git push надсилає коміти у віддалений репозиторій
  • git fetch / git pull забирає коміти з віддаленого в локальний

Підсумок

Локальний репозиторій - це робочий простір розробника з повною історією та файлами проєкту. Віддалений репозиторій - це серверна копія репозиторію, яка використовується для обміну змінами, спільної роботи та зберігання історії проєкту.

Коротка відповідь

Для співбесіди
Premium

Коротка відповідь допоможе вам впевнено відповідати на цю тему під час співбесіди.