A3.5 Додаток C: Команди Git - Спільна робота та оновлення проектів
Не так багато команд у Git вимагають мережного підключення для своєї роботи, практично всі команди оперують з локальною копією проекту. Коли ви готові поділитися своїми доробками, лише кілька команд допоможуть вам працювати з віддаленими репозиторіями.
git fetch
Команда git fetch пов'язується з віддаленим репозиторієм і забирає з нього всі зміни, яких у вас поки що немає і зберігає їх локально.
Ми познайомилися з нею в розділі Отримання змін з віддаленого репозиторію - Fetch і Pull глави 2 і продовжили знайомство в розділі Віддалені гілки розділу 3.
Ми використовували цю команду в кількох прикладах розділу Участь у проекті.
Ми використовували її для скачування запитів на злиття з інших репозиторіїв у розділі Посилання на запит злиття розділу 6, також ми розглянули використання git fetch для роботи з упакованими репозиторіями в розділі Створення пакетів глави 7.
Ми розглянули тонке налаштування git fetch у главі та Специфікації посилань.
git pull
Команда git pull працює як комбінація команд git fetch і git merge, т.е. е. Git спочатку забирає зміни із зазначеного віддаленого репозиторію, а потім намагається злити їх із поточною гілкою.
Ми познайомилися з нею у розділі Отримання змін з віддаленого репозиторію — Fetch і Pull глави 2 і показали, як дізнатися, які зміни будуть прийняті у разі застосування у розділі Перегляд віддаленого репозиторію глави 2.
Ми також побачили як вона може виявитися корисною для вирішення складнощів при переміщенні гілок у розділі Змінюючи базу, змінюй основу глави 3.
Ми показали, як можна використовувати тільки URL-адресу видаленого репозиторію без збереження його в списку видалених репозиторіїв у розділі Вилучення видалених гілок розділу 5.
І нарешті ми показали, як перевіряти криптографічні підписи отриманих коммітів, використовуючи опцію --verify-signatures у розділі Підпис коммітів глави 7.
git push
Команда git push використовується для встановлення зв'язку з віддаленим репозиторієм, обчислення локальних змін відсутніх у ньому, та власне їх передачі у вищезгаданий репозиторій. Цій команді потрібне право на запис у репозиторій, тому вона використовує автентифікацію.
Ми познайомилися з цією командою в розділі Відправлення змін до віддаленого репозиторію (Push) розділу 2. Там ми розглянули основи оновлення гілок у віддаленому репозиторії. У розділі Відправлення змін глави 3 ми докладніше познайомилися з цією командою, а в розділі Відстеження гілок розділу 3 ми дізнались, як налаштувати відстеження гілок для автоматичної передачі на віддалений репозиторій. У розділі Видалення гілок на дистанційному сервері глави 3 ми використовували прапор --delete для видалення гілок на сервері, використовуючи git push .
Протягом розділу Участь у проекті ми показали кілька прикладів використання git push для спільної роботи у кількох віддалених репозиторіях одночасно.
У розділі Публікація змін підмодуля глави 7 ми використовували опцію --recurse-submodules щоб переконатися, що всі підмодулі будуть опубліковані перед відправкою проекту на сервер, що може бути реально корисним під час роботи з репозиторіями, які містять підмодулі.
У розділі Інші хуки на стороні клієнта глави 8 ми поговорили про тригер pre-push, який може бути виконаний перед відправкою даних, щоб перевірити можливість цієї відправки.
Нарешті, у розділі Специфікації посилань для надсилання даних на сервер глави 10 ми розглянули передачу даних з повним зазначенням посилань, що передаються, замість використання поширених скорочень. Це може бути корисним, якщо ви хочете дуже точно вказати, якими змінами хочете поділитися.
git remote
Команда git remote служить для керування списком віддалених репозиторіїв. Вона дозволяє зберігати довгі URL репозиторіїв у вигляді зрозумілих коротких рядків, наприклад «origin», так що вам не доведеться забивати голову будь-якою нісенітницею і набирати її щоразу для зв'язку з сервером. Ви можете використовувати кілька віддалених репозиторіїв для роботи та git remote допоможе додавати, змінювати та видаляти їх.
Ця команда детально розглянута у розділі Робота з віддаленими репозиторіями глави 2, включаючи виведення списку віддалених репозиторіїв, додавання нових, видалення чи перейменування існуючих.
Вона використовується практично в кожному розділі, але завжди в тому самому вигляді: git remote add .
git archive
Команда git archive використовується для упаковки до архіву зазначених коммітів або всього репозиторію.
Ми використовували git archive для створення тарбола ( tar.gz файлу) всього проекту для передачі через мережу в розділі Підготовка релізу глави 5.
git submodule
Команда git submodule використовується для керування вкладеними репозиторіями. Наприклад, це можуть бути бібліотеки або інші ресурси, які використовуються не тільки в цьому проекті. У команди submodule є кілька підкоманд - add, update, sync та ін - для управління такими репозиторіями.
Ця команда згадана та повністю розкрита у розділі Підмодулі глави 7.
Як скачати з Гітхаба: докладний гід
Скачування проектів з GitHub – важливий та невід'ємний етап розробки програмного забезпечення.GitHub надає можливість зберігати та обмінюватися кодовими базами, а також брати участь у колективному програмуванні. Давайте розглянемо кілька способів завантаження проекту з GitHub на прикладі двох найбільш популярних операційних систем – Windows та macOS.
Для початку вам знадобиться встановити програмне забезпечення Git, яке дозволяє взаємодіяти з репозиторіями на GitHub. На Windows можна завантажити інсталятор з офіційного сайту https://git-scm.com/download/win. На macOS можна використовувати Homebrew, якщо він встановлений, інакше можна скористатися інсталятором з офіційного сайту https://git-scm.com/download/mac.
Після встановлення Git необхідно відкрити командний рядок (на Windows – Git Bash, а на macOS – Terminal) та перейти до каталогу, в який ви хочете завантажити проект. Для цього можна використовувати команду cd . Наприклад, щоб перейти до каталогу "Documents" на Windows, введіть cd Documents .
Тепер, коли ви перебуваєте в потрібному каталозі, можна розпочати скачування проекту з GitHub. Відкрийте веб-сторінку проекту на GitHub та знайдіть кнопку "Code" (або "Код") поряд з ним. Натисніть на неї, щоб відкрити спливаюче вікно з посиланням на репозиторій.
Далі поверніться в командний рядок і використовуйте команду git clone , а потім вставте скопійоване посилання. Наприклад, для клонування проекту з GitHub можна використовувати таку команду: git clone https://github.com/username/repository.git. Тут username - ім'я користувача на GitHub, а репозиторія - ім'я репозиторію.
Після виконання команди проект буде схильний до вашого комп'ютера в поточний каталог. Ви побачите висновок, що вказує на прогрес та успішне завершення операції. Тепер ви можете відкрити клонований проект у вашому улюбленому інтегрованому середовищі розробки або текстовому редакторі.
Розглянемо приклад коду на Python, який можна використовувати для завантаження проекту з GitHub з використанням бібліотеки requests:
import requests def download_project(url, destination): response = requests.get(url) with open(destination, 'wb') як файл: file.write(response.content) url = 'https://github.com/username /repository/archive/main.zip' destination = 'path/to/save/project.zip' download_project(url, destination)
У цьому прикладі ми використовуємо бібліотеку requests для надсилання HTTP-запиту на GitHub та отримання вмісту архіву проекту. Потім ми записуємо вміст архіву файл за допомогою функції open і методу write .
Це був приклад завантаження проекту з GitHub з використанням Python та бібліотеки requests. Однак, існують інші мови програмування та бібліотеки, які дозволяють вам завантажувати проекти з GitHub, такі як GitPython для роботи з Git у Python або git2go для роботи з Git у Go. Важливо вибрати відповідний інструмент залежно від ваших потреб та переваг.
Тепер ви знаєте, як завантажити проект з GitHub, і можете почати вивчати і вносити свій внесок в код, що вас цікавить. Успіхів у вашій програмістській діяльності!
Схожі питання на: "як завантажити з гітхабу"
Використання оператора switch case у програмуванні
Отримання змін із віддаленого репозиторію
Для доступу до віддалених репозиторій можна використовувати найпоширеніші команди Git.
У цій статті
Параметри для отримання змін
Ці команди особливо корисні при взаємодії з віддаленим репозиторієм. Команди clone і fetch дозволяють завантажити віддалений код з віддаленої URL-адреси репозиторію на локальний комп'ютер, merge використовується для злиття роботи, виконаної вами та іншими користувачами, а pull є комбінацією команд fetch і merge .
Клонування репозиторію
Щоб отримати повну копію репозиторію іншого користувача, використовуйте команду git clone у такому вигляді:
$
git clone https://github.com/USERNAME/REPOSITORY.git
#
Clones a repository to your computer
При клонуванні репозиторію можна вибрати одну з кількох різних URL-адрес. При вході в GitHub ці URL-адреси доступні на головній сторінці репозиторію при натисканні кнопки
Під час виконання команди git clone відбувається таке:
- Створюється нова папка з ім'ям repo.
- Вона ініціалізується як репозиторій Git.
- Створюється віддалений вузол з ім'ям origin, що веде на URL-адресу, з якої ви клонували репозиторій.
- З цієї адреси завантажуються всі файли та фіксації репозиторію.
- Витягується гілка за умовчанням.
Для кожної гілки foo у віддаленому репозиторії створюється відповідна гілка віддаленого відстеження refs/remotes/origin/foo у локальному репозиторії. Зазвичай імена гілок віддаленого відстеження можна скорочувати до origin/foo.
Отримання змін із віддаленого репозиторію
Використовуйте команду git fetch для отримання нових робіт, виконаних іншими людьми. Команда отримання даних з репозиторію захоплює все нові гілки та теги віддаленого відстеження, не зливаючи ці зміни з вашими власними гілками.
Якщо у вас вже є локальний репозиторій з віддаленою URL-адресою, налаштований для бажаного проекту, ви можете отримувати нові відомості, виконуючи в терміналі команду git fetch *remotename* :
$
git fetch REMOTE-NAME
#
Fetches updates made to a remote repository
Якщо ні, ви завжди можете додати новий віддалений репозиторій, а потім отримати дані. Для отримання додаткових відомостей див. у розділі Керування віддаленими репозиторіями.
Злиття змін з локальною гілкою
Злиття об'єднує локальні зміни із змінами, внесеними іншими людьми.
Зазвичай зливаються гілка віддаленого відстеження (тобто гілка, отримана з віддаленого репозиторію) і локальна гілка:
$
git merge REMOTE-NAME/BRANCH-NAME
#
Merges updates made online with your local work
Витягування змін із віддаленого репозиторію
git pull – це зручне поєднання клавіш для виконання git fetch та git merge в одній команді:
$
git pull REMOTE-NAME BRANCH-NAME
#
Grabs online updates and merges them with your local work
Оскільки pull призводить до злиття отриманих змін, перед виконанням команди pull потрібно зафіксувати локальну роботу. Якщо виникне конфлікт злиття, який ви не зможете вирішити, або ви вирішите вийти зі злиття, використовуйте команду git merge --abort , щоб повернути гілку туди, де вона знаходилася до витягування.
Додаткові матеріали