Fork and Branch Git workflow
Fork and Branch Workflow¶
У цьому типі робочого процесу учасники розгалужують головний репозиторій до свого власного облікового запису GitHub, створюють гілки функцій для своєї роботи, а потім надсилають внески за допомогою запитів на отримання з цих гілок.
Цей Gemstone пояснює, як налаштувати локальне сховище для внеску в проект GitHub. Він починається з початкового розгалуження проекту, налаштування локального та віддаленого сховища, внесення змін і створення запиту на отримання (PR) для надсилання ваших внесків.
Передумови¶
- Обліковий запис GitHub.
git
іGitHub CLI (gh)
встановлені у вашій системі.- Персональна гілка проекту на GitHub.
Процедура¶
- Якщо вона ще не існує, створіть гілку проекту за допомогою утиліти gh. Впишіть:
gh repo fork rocky-linux/documentation --clone=true --remote=true
У цій команді gh repo fork використовуються такі параметри:
--clone=true
: Клонує розгалужене сховище на вашу локальну машину.-
--remote=true
: Додає вихідний репозиторій як віддалений, що дозволяє синхронізувати майбутні оновлення. -
Перейдіть до каталогу локального сховища. Впишіть:
cd documentation
- Переконайтеся, що всі відповідні віддалені сховища правильно налаштовано у вашому локальному сховищі, введіть:
git remote -vv
- Отримайте останні зміни з дистанційного керування:
git fetch upstream
- Створіть і перевірте нову гілку функції під назвою your-feature-branch:
git checkout -b your-feature-branch
- Внесіть зміни, додайте нові файли та зафіксуйте свої зміни у своєму локальному репозиторії:
git add .
git commit -m "Your commit message"
- Синхронізуйте з головною гілкою віддаленого сховища під назвою
upstream
:
git pull upstream main
- Надішліть зміни до своєї гілки:
git push origin your-feature-branch
- Нарешті, створіть запит на вилучення (PR) за допомогою програми
gh
CLI:
gh pr create --base main --head your-feature-branch --title "Your PR Title" --body "Description of your changes"
У цій команді gh pr create використовуються такі параметри:
--base
main: Визначає базову гілку у вихідному сховищі, куди буде об’єднано зміни.
--head
your-feature-branch: Вказує на головну гілку вашого форка, яка містить зміни.
--title
"Your PR Title": Встановлює назву для запиту.
--body
"Description of your changes": Надає детальний опис змін у запиті.
Висновок¶
Робочий процес Fork and Branch є ще однією поширеною технікою співпраці. Задіяні кроки високого рівня:
- Форк репозиторію: створіть особисту копію репозиторію проекту у своєму обліковому записі GitHub.
- Клонуйте гілку: клонуйте свою гілку на локальну машину для розробки.
- Налаштуйте віддалений вихідний поток: додайте оригінальний репозиторій проекту як віддалений вихідний, щоб бути в курсі змін.
- Створіть гілку функції: для кожної нової функції або виправлення створіть нову гілку з оновленої головної гілки. Назви гілок мають описувати функцію або виправляти її.
- Закріпити зміни: внесіть свої зміни та закріпіть їх за допомогою чітких і лаконічних повідомлень про фіксацію.
- Синхронізація з Upstream: Регулярно синхронізуйте свій форк і гілку функцій з головною гілкою upstream, щоб внести нові зміни та зменшити конфлікти злиття.
- Створіть запит на вилучення (PR): перемістіть свою гілку функцій у розгалуження на GitHub і відкрийте PR щодо основного проекту. Ваш PR повинен чітко описувати зміни та посилатися на будь-які відповідні питання.
- Відповідайте на відгуки: співпрацюйте над відгуками щодо перегляду, доки PR не буде об’єднано або закрито.
Переваги:
- Відокремлює роботу з розробки до певних гілок, зберігаючи основну гілку чистою.
- Це полегшує перегляд та інтеграцію змін.
- Зменшує ризик конфліктів із кодовою базою основного проекту, що розвивається.
Author: Wale Soyinka
Contributors: Ganna Zhyrnova