Пошук уроків, статей та іншого контенту
Створите репозиторій на GitHub або GitLab, під’єднаєте його до локального проєкту та налаштуєте доступ.
GitHub і GitLab — це платформи для зберігання Git-репозиторіїв у мережі. Вони дають змогу:
зберігати резервну копію коду;
працювати над проєктом з різних комп’ютерів;
надавати доступ іншим розробникам;
переглядати історію змін;
виконувати спільну роботу через гілки та запити на злиття.
GitHub і GitLab використовують Git, тому основні команди для роботи з локальним репозиторієм однакові.
Під час роботи з платформою використовуються два репозиторії:
локальний — розташований на вашому комп’ютері;
віддалений — розташований на GitHub або GitLab.
Віддалений репозиторій зазвичай позначають короткою назвою origin.
Типова послідовність роботи:
створити репозиторій на GitHub або GitLab;
під’єднати його до локального проєкту;
створити коміт;
надіслати коміт на віддалений репозиторій за допомогою git push.
Створіть обліковий запис на GitHub або GitLab і увійдіть до нього.
Після цього створіть новий репозиторій:
Відкрийте сторінку створення нового репозиторію.
Вкажіть назву, наприклад my-project.
Виберіть видимість:
Public — репозиторій доступний усім;
Private — репозиторій доступний лише вам і запрошеним користувачам.
Якщо локальний проєкт уже містить файли, не додавайте автоматично README, .gitignore або ліцензію під час створення репозиторію.
Створіть репозиторій.
Порожній віддалений репозиторій простіше під’єднати до вже наявного локального проєкту.
Після створення платформа покаже адресу репозиторію. Вона може мати один із таких форматів:
https://github.com/username/my-project.git
https://gitlab.com/username/my-project.gitТакож можна використовувати SSH-адресу:
git@github.com:username/my-project.git
git@gitlab.com:username/my-project.gitusername потрібно замінити на ім’я вашого облікового запису.
Перейдіть у папку проєкту в терміналі:
cd path/to/my-projectЯкщо Git ще не був ініціалізований у цій папці, виконайте:
git initПереконайтеся, що файли проєкту знаходяться в потрібній папці:
git statusДодайте файли до індексу та створіть перший коміт:
git add .
git commit -m "Initial commit"Перейменуйте поточну гілку на main:
git branch -M mainДодайте віддалений репозиторій:
git remote add origin https://github.com/username/my-project.gitДля GitLab команда має такий самий вигляд, але з іншою адресою:
git remote add origin https://gitlab.com/username/my-project.gitНадішліть локальну гілку main на платформу:
git push -u origin mainПараметр -u пов’язує локальну гілку main із віддаленою гілкою origin/main. Після цього для наступних відправлень зазвичай достатньо виконувати:
git pushНижче наведено послідовність команд для нового локального проєкту:
cd my-project
git init
git add .
git commit -m "Initial commit"
git branch -M main
git remote add origin https://github.com/username/my-project.git
git push -u origin mainПісля успішного виконання команд оновіть сторінку репозиторію у браузері. Файли та коміт мають з’явитися на GitHub або GitLab.
Переглянути налаштовані віддалені репозиторії можна командою:
git remote -vПриклад результату:
origin https://github.com/username/my-project.git (fetch)
origin https://github.com/username/my-project.git (push)Тут:
origin — назва віддаленого репозиторію;
fetch — адреса для отримання змін;
push — адреса для надсилання змін.
Переглянути стан локальної гілки можна командою:
git statusПісля успішного git push Git зазвичай повідомляє, що локальна гілка синхронізована з віддаленою.
Під час під’єднання через HTTPS платформа може попросити ім’я користувача та пароль.
GitHub не приймає звичайний пароль облікового запису для операцій Git через HTTPS. Замість нього потрібно використовувати токен доступу. GitLab також може вимагати токен залежно від налаштувань облікового запису.
Токен — це секретне значення, яке використовується замість пароля.
Основні правила:
не публікуйте токен у коді;
не додавайте токен до файлів проєкту;
не надсилайте токен у повідомленнях;
якщо токен став доступним іншим людям, відкличте його та створіть новий;
надавайте токену лише необхідні дозволи.
Не додавайте токен безпосередньо до URL:
https://username:token@example.com/username/my-project.gitТакий запис може потрапити в історію команд або журнали. Використовуйте стандартний запит Git або менеджер облікових даних операційної системи.
SSH дає змогу працювати з репозиторієм без повторного введення токена під час кожного push.
Загальна послідовність така:
Створити SSH-ключ на комп’ютері.
Додати відкриту частину ключа до налаштувань GitHub або GitLab.
Використати SSH-адресу репозиторію.
Створити ключ можна командою:
ssh-keygen -t ed25519 -C "your-email@example.com"Під час виконання команди можна погодитися з типовим шляхом збереження ключа та встановити пароль для ключа.
Відкритий ключ зазвичай зберігається у файлі:
~/.ssh/id_ed25519.pubПереглянути його в Linux або macOS можна так:
cat ~/.ssh/id_ed25519.pubСкопіюйте весь рядок і додайте його в налаштуваннях облікового запису на відповідній платформі до розділу SSH-ключів.
Приватний ключ ~/.ssh/id_ed25519 нікому не передавайте. Публікувати можна лише файл із суфіксом .pub.
Після додавання ключа змініть адресу віддаленого репозиторію:
git remote set-url origin git@github.com:username/my-project.gitДля GitLab:
git remote set-url origin git@gitlab.com:username/my-project.gitПеревірити підключення до GitHub можна так:
ssh -T git@github.comДля GitLab:
ssh -T git@gitlab.comЯкщо ключ налаштований правильно, платформа повідомить про успішну автентифікацію. Доступ до оболонки сервера при цьому зазвичай не надається — SSH використовується саме для операцій Git.
Власник репозиторію може запросити інших користувачів.
На GitHub для цього використовують налаштування доступу до репозиторію та запрошення співавторів.
На GitLab доступ налаштовують через учасників проєкту. Власник може запросити користувача та вибрати його роль.
Запрошений користувач зазвичай може:
переглядати код;
клонувати репозиторій;
створювати гілки;
надсилати зміни — якщо йому надано відповідні права.
Для навчального або особистого проєкту достатньо:
відкрити налаштування репозиторію;
знайти розділ керування доступом;
запросити користувача за його ім’ям або електронною адресою;
вибрати мінімальну роль, необхідну для роботи;
дочекатися прийняття запрошення.
Не робіть приватний репозиторій публічним лише для того, щоб надати доступ одній людині. Для цього існують запрошення та ролі доступу.
Якщо репозиторій уже створений на GitHub або GitLab і потрібно отримати його локальну копію, використовуйте git clone:
git clone https://github.com/username/my-project.gitАбо SSH-адресу:
git clone git@github.com:username/my-project.gitGit створить папку my-project, завантажить файли та налаштує віддалений репозиторій origin.
Після клонування можна перейти до папки:
cd my-projectПеревірити адресу віддаленого репозиторію:
git remote -vЯкщо інший користувач уже надіслав зміни до віддаленого репозиторію, отримати їх можна командою:
git pullЦя команда завантажує нові коміти та намагається об’єднати їх із поточною локальною гілкою.
Типовий цикл після зміни файлів:
git add .
git commit -m "Update project"
git pull
git pushПеред push корисно виконати git pull, якщо над репозиторієм працюють кілька людей.
Якщо адресу репозиторію було введено неправильно, її можна змінити:
git remote set-url origin https://github.com/username/my-project.gitПеревірте результат:
git remote -vЯкщо віддалений репозиторій більше не потрібен, його можна видалити з локального проєкту:
git remote remove originЦе не видаляє репозиторій на GitHub або GitLab. Команда лише прибирає його адресу з локальної конфігурації Git.
remote origin already existsВіддалений репозиторій із назвою origin уже додано. Перевірте його адресу:
git remote -vЯкщо адреса неправильна, змініть її:
git remote set-url origin YOUR_REPOSITORY_URLsrc refspec main does not match anyУ локальному репозиторії ще немає комітів або гілка має іншу назву.
Створіть коміт:
git add .
git commit -m "Initial commit"Потім повторіть:
git branch -M main
git push -u origin mainrepository not foundМожливі причини:
помилка в адресі репозиторію;
репозиторій було видалено або переміщено;
у вас немає доступу до приватного репозиторію;
Git використовує не той обліковий запис.
Перевірте адресу командою:
git remote -vPermission deniedПроблема пов’язана з автентифікацією або правами доступу.
Перевірте:
чи прийнято запрошення до репозиторію;
чи правильно налаштовано SSH-ключ;
чи не протермінований токен;
чи має ваш обліковий запис право на надсилання змін.
rejected під час git pushУ віддаленому репозиторії є коміти, яких немає локально. Спочатку отримайте зміни:
git pullПісля успішного об’єднання повторіть:
git pushЯкщо під час git pull виник конфлікт, його потрібно вирішити у файлах, створити новий коміт і лише потім виконати git push.
GitHub і GitLab — платформи для розміщення віддалених Git-репозиторіїв.
Локальний проєкт під’єднують командою git remote add origin.
Перші зміни надсилають командою git push -u origin main.
Для доступу можна використовувати HTTPS із токеном або SSH-ключ.
Приватний репозиторій доступний лише власнику та запрошеним користувачам.
Команда git clone створює локальну копію віддаленого репозиторію.
Адресу віддаленого репозиторію можна перевірити через git remote -v.
Токени та приватні SSH-ключі не можна публікувати або передавати іншим людям.