Перейти до змісту

Fork and Branch Git workflow

Fork and Branch Workflow

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

Цей Gemstone пояснює, як налаштувати локальне сховище для внеску в проект GitHub. Він починається з початкового розгалуження проекту, налаштування локального та віддаленого сховища, внесення змін і створення запиту на отримання (PR) для надсилання ваших внесків.

Передумови

  • Обліковий запис GitHub.
  • git і GitHub CLI (gh) встановлені у вашій системі.
  • Персональна гілка проекту на GitHub.

Процедура

  1. Якщо вона ще не існує, створіть гілку проекту за допомогою утиліти gh. Впишіть:
gh repo fork rocky-linux/documentation --clone=true --remote=true

У цій команді gh repo fork використовуються такі параметри:

  • --clone=true: Клонує розгалужене сховище на вашу локальну машину.
  • --remote=true: Додає вихідний репозиторій як віддалений, що дозволяє синхронізувати майбутні оновлення.

  • Перейдіть до каталогу локального сховища. Впишіть:

cd documentation
  1. Переконайтеся, що всі відповідні віддалені сховища правильно налаштовано у вашому локальному сховищі, введіть:
git remote -vv
  1. Отримайте останні зміни з дистанційного керування:
git fetch upstream
  1. Створіть і перевірте нову гілку функції під назвою your-feature-branch:
git checkout -b your-feature-branch
  1. Внесіть зміни, додайте нові файли та зафіксуйте свої зміни у своєму локальному репозиторії:
git add .
git commit -m "Your commit message"
  1. Синхронізуйте з головною гілкою віддаленого сховища під назвою upstream:
git pull upstream main
  1. Надішліть зміни до своєї гілки:
git push origin your-feature-branch
  1. Нарешті, створіть запит на вилучення (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 є ще однією поширеною технікою співпраці. Задіяні кроки високого рівня:

  1. Форк репозиторію: створіть особисту копію репозиторію проекту у своєму обліковому записі GitHub.
  2. Клонуйте гілку: клонуйте свою гілку на локальну машину для розробки.
  3. Налаштуйте віддалений вихідний поток: додайте оригінальний репозиторій проекту як віддалений вихідний, щоб бути в курсі змін.
  4. Створіть гілку функції: для кожної нової функції або виправлення створіть нову гілку з оновленої головної гілки. Назви гілок мають описувати функцію або виправляти її.
  5. Закріпити зміни: внесіть свої зміни та закріпіть їх за допомогою чітких і лаконічних повідомлень про фіксацію.
  6. Синхронізація з Upstream: Регулярно синхронізуйте свій форк і гілку функцій з головною гілкою upstream, щоб внести нові зміни та зменшити конфлікти злиття.
  7. Створіть запит на вилучення (PR): перемістіть свою гілку функцій у розгалуження на GitHub і відкрийте PR щодо основного проекту. Ваш PR повинен чітко описувати зміни та посилатися на будь-які відповідні питання.
  8. Відповідайте на відгуки: співпрацюйте над відгуками щодо перегляду, доки PR не буде об’єднано або закрито.

Переваги:

  • Відокремлює роботу з розробки до певних гілок, зберігаючи основну гілку чистою.
  • Це полегшує перегляд та інтеграцію змін.
  • Зменшує ризик конфліктів із кодовою базою основного проекту, що розвивається.

Author: Wale Soyinka

Contributors: Ganna Zhyrnova