Git
Chapters ▾ 2nd Edition

A3.5 Appendix C: Команди Git - Поширення й оновлення проектів

Поширення й оновлення проектів

Існує небагато команд Git, які використовують мережу, майже всі команди працюють над локальною базою даних. Коли ви готові поділитись своєю роботою чи взяти зміни деінде, існує лише жменя команд, які працюють з віддаленими сховищами.

git fetch

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

Ми спочатку бачимо цю команду в Отримання (fetching) та затягування (pulling) з ваших віддалених сховищ та продовжуємо бачити приклади її використання в Віддалені гілки.

Також ми використовуємо її в декількох прикладах у Внесення змін до проекту.

Ми використовуємо її щоб отримати одне окреме посилання поза типовим джерелом у Посилання (Refs) Запитів на Пул та бачимо як отримувати зміни з пакунка в Пакування.

Ми налаштовуємо дуже нетипові специфікації посилань, щоб змусити git fetch робити щось трохи інше, ніж типова поведінка, у Специфікація посилань (refspec).

git pull

Команда git pull є загалом комбінацією git fetch та git merge, тобто Git отримає зміни зі заданого віддаленого сховища, а потім одразу спробує злити їх до поточної гілки.

Ми швидко представляємо її в Отримання (fetching) та затягування (pulling) з ваших віддалених сховищ та показуємо, як побачити що буде злито при виконанні в Оглядання віддаленого сховища.

Ми також бачимо як використати її, щоб допомогти зі складнощами перебазування в Перебазовуйся коли перебазовуєшся.

Ми показуємо як використати її з URL, щоб отримати зміни одноразово в Отримання віддалених гілок.

Нарешті, ми дуже швидко згадуємо що ви можете використати опцію --verify-signatures, щоб вона пересвідчувалась, що отримані коміти були підписані GPG у Підписання комітів.

git push

Команда git push використовується для того, щоб звʼязатись з іншим сховищем, обчислити що є у вашій локальній базі даних, а у віддаленій немає, а потім надіслати різницю до іншого сховища. Вона вимагає доступу на запис до іншого сховища, отже, зазвичай необхідна автентифікація.

Ми спочатку бачимо команду git push у Надсилання змін до ваших віддалених сховищ. Тут ми розглядаємо засади надсилання гілки до віддаленого репозиторія. В Надсилання ми трошки глибше розглядаємо надсилання окремих гілок, а в Відслідковувані гілки ми бачимо, як налаштувати відслідковувані гілки для автоматичного надсилання до них змін. У Видаляння віддалених гілок ми використовуємо опцію --delete, щоб вилучити гілку на сервері за допомогою git push.

Упродовж Внесення змін до проекту ми бачимо декілька прикладів використання git push для розподілення роботи над гілками з декількома віддаленими сховищами.

Ми бачимо, як використати її для надсилання теґів, які ми створили, за допомогою опції --tags у Розповсюдження теґів.

У Публікація змін з підмодуля ми використовуємо опцію --recurse-submodules, щоб переконатись, що вся праця в наших підмодулях була опублікована перед надсиланням надпроекту, що може бути дуже корисним, коли ви використовуєте підмодулі.

У Інші клієнтські гаки ми коротко згадуємо про гак pre-push, який є скриптом, який виконується перед тим, як завершується push, щоб перевірити, чи варто дозволяти це надсилання.

Нарешті, у Специфікації надсилання посилань ми дивимось на надсилання з повною специфікацією посилань замість загальних скорочень, які, зазвичай, використовуються. Це може допомогти вам дуже чітко надіслати саме ту роботу, яку ви бажаєте.

git remote

Команда git remote є командою для керування записів про ваші віддалені сховища. Вона дозволяє вам зберігати довгі URL як короткі назви, на кшталт “origin”, щоб ви не мусили постійно набирати їх повністю. Ви можете мати декілька таких, та команда git remote використовується для їх додавання, зміни та вилучення.

Ця команда докладно розглянута в Взаємодія з віддаленими сховищами, включно з наданням списку, доданням, вилученням та перейменуванням їх.

Вона використовується майже в кожному подальшому розділі книги, проте завжди у звичайному форматі git remote add <назва> <url>.

git archive

Команда git archive використовується для створення файлу архіву з окремим відбитком проекту.

Ми використовуємо git archive, щоб створити архів tar проекту для того, щоб ним поділитися, у Підготовка видань.

git submodule

Команда git submodule використовується для керування зовнішніми репозиторіями всередині звичайних репозиторіїв. Це може бути використано для бібліотек чи інших типів спільних ресурсів. Команда submodule має декілька підкоманд (add, update, sync тощо) для керування цими ресурсами.

Ця команда згадується лише, а також повністю розглянута, у Підмодулі.