Пошук уроків, статей та іншого контенту
З’ясуєте різницю між Git як системою контролю версій і сервісами для зберігання та спільної роботи з репозиторіями.
Git — це програма для керування історією змін у файлах проєкту.
Вона дає змогу:
зберігати послідовність змін;
бачити, хто і що змінив;
повертатися до попередніх версій;
створювати окремі гілки для нових функцій;
об’єднувати зміни з різних гілок;
працювати без постійного підключення до інтернету.
Git встановлюється на комп’ютер і працює локально. Для роботи з ним не потрібен GitHub, GitLab або Bitbucket.
Репозиторій — це проєкт, за змінами якого стежить Git. Він містить:
файли проєкту;
історію комітів;
гілки;
службові дані Git у прихованій папці .git.
Створити репозиторій у поточній папці можна командою:
git initПісля цього Git почне стежити за змінами у файлах цієї папки.
mkdir demo-project
cd demo-project
git init
echo "# Demo project" > README.md
git add README.md
git commit -m "Додано файл README"
git log --onelineЩо відбувається в цьому прикладі:
Створюється папка проєкту.
У ній ініціалізується Git-репозиторій.
Створюється файл README.md.
Команда git add додає файл до підготовлених змін.
Команда git commit зберігає зміни в історії.
Команда git log показує список комітів.
Коміт — це зафіксований набір змін із повідомленням, яке пояснює, що було зроблено.
GitHub, GitLab і Bitbucket — це онлайн-сервіси, які можуть зберігати Git-репозиторії та допомагати розробникам працювати над ними разом.
Вони використовують Git, але не є самим Git.
На таких платформах можна:
зберігати віддалені репозиторії;
надавати доступ іншим розробникам;
переглядати код через браузер;
обговорювати зміни;
створювати запити на об’єднання змін;
переглядати історію проєкту;
автоматизувати перевірку та розгортання проєктів.
Назви деяких функцій можуть відрізнятися:
у GitHub і Bitbucket запит на об’єднання змін називається Pull Request;
у GitLab він називається Merge Request.
За призначенням це подібні механізми: розробник пропонує зміни, а команда перевіряє їх перед об’єднанням з іншою гілкою.
Git може працювати лише локально, але для командної роботи зазвичай використовують віддалений репозиторій на GitHub, GitLab або Bitbucket.
Локальний і віддалений репозиторії є окремими копіями одного проєкту.
Типовий процес має такий вигляд:
Розробник змінює файли локально.
Створює коміт у локальному репозиторії.
Надсилає коміти у віддалений репозиторій.
Інші учасники отримують ці зміни.
Команда переглядає та об’єднує зміни.
Для надсилання локальної гілки використовується команда:
git pushДля отримання нових комітів із віддаленого репозиторію:
git pullКоманда git pull отримує зміни та намагається об’єднати їх із поточною локальною гілкою.
Після створення порожнього репозиторію на GitHub, GitLab або Bitbucket його адресу можна додати як віддалений репозиторій:
git remote add origin https://example.com/user/demo-project.git
git branch -M main
git push -u origin mainУ цьому прикладі:
origin — стандартне ім’я віддаленого репозиторію;
main — назва основної гілки;
git push надсилає локальні коміти на сервер;
параметр -u пов’язує локальну гілку з віддаленою, щоб надалі можна було використовувати просто git push.
Адреса https://example.com/user/demo-project.git є прикладом. У реальному проєкті потрібно використовувати адресу репозиторію, створеного на вибраному сервісі.
Git — це:
програма;
система контролю версій;
інструмент для роботи з локальними та віддаленими репозиторіями;
технологія, яку можна використовувати без GitHub, GitLab і Bitbucket.
Це:
вебсервіси;
місця для зберігання віддалених репозиторіїв;
платформи для командної роботи;
інструменти для перегляду коду, обговорення змін і автоматизації процесів.
Коротко:
Git керує версіями коду, а GitHub, GitLab і Bitbucket допомагають зберігати цей код онлайн і працювати з ним разом.
Ні. Для роботи достатньо Git.
Наприклад, можна:
створити репозиторій Git лише на своєму комп’ютері;
використовувати GitHub як віддалене сховище;
працювати з GitLab у команді;
зберігати проєкт у Bitbucket.
GitHub, GitLab і Bitbucket — альтернативні платформи. Зазвичай для одного проєкту обирають одну з них, хоча технічно репозиторій можна синхронізувати з кількома віддаленими серверами.
Вибір платформи залежить від вимог команди, уже наявних інструментів і потрібних функцій. Основні команди Git при цьому залишаються такими самими.
Локальні файли
↓
git add
↓
Підготовлені зміни
↓
git commit
↓
Локальний репозиторій Git
↓
git push
↓
GitHub / GitLab / BitbucketЩоб отримати зміни від інших учасників, використовується зворотний напрямок:
GitHub / GitLab / Bitbucket
↓
git pull
↓
Локальний репозиторій
↓
Локальні файлиGit — це система контролю версій, а GitHub — онлайн-платформа. GitHub використовує Git, але не замінює його.
Команда git commit зберігає зміни лише в локальному репозиторії.
Щоб надіслати їх на віддалений сервіс, потрібно виконати:
git pushgit add зберігає зміниgit add лише додає зміни до підготовленої області. Остаточно зафіксувати їх в історії можна командою:
git commit -m "Опис змін"Віддалений репозиторій може бути додатковою копією проєкту, але він не захищає від усіх проблем. Наприклад, невідправлені локальні коміти не з’являться на сервері, доки не виконати git push.
Основні команди — git clone, git add, git commit, git pull і git push — працюють із різними Git-сервісами однаково. Відрізнятися можуть вебінтерфейс і додаткові функції платформи.
Git — розподілена система контролю версій.
Git зберігає історію змін і може працювати локально.
GitHub, GitLab і Bitbucket — онлайн-сервіси для зберігання Git-репозиторіїв і спільної роботи.
git commit зберігає зміни локально.
git push надсилає локальні коміти на віддалений репозиторій.
git pull отримує зміни з віддаленого репозиторію.
Для роботи з Git не обов’язково використовувати GitHub, GitLab або Bitbucket.