Урок 8 из 8 · 25 мин · обновлено

Работа в команде: пулл-реквесты, ревью и портфолио

Как команды работают с GitHub: ветки и пулл-реквесты, ревью кода, issues, форки для чужих проектов, публикация сайта через GitHub Pages и что учить дальше.

Как работают команды

В команде никто не отправляет коммиты прямо в main. Обычный порядок такой:

  1. Веткапод задачу
  2. Коммитыи push ветки
  3. Пулл-реквестобсуждение и ревью
  4. Слияниев main

Вы уже умеете создавать ветки и отправлять коммиты. Осталось главное звено — пулл-реквест.

Пулл-реквест

Отправьте ветку на GitHub:

Терминал
git switch -c order-form
# сделали задачу, закоммитили
git push -u origin order-form

На странице репозитория GitHub предложит Compare & pull request. Пулл-реквест (pull request, PR) — это предложение влить вашу ветку в main. В нём:

  • заголовок и описание — что сделано и зачем, как проверить;
  • список изменений — все правки в удобном виде «было и стало»;
  • обсуждение — комментарии коллег;
  • кнопка слияния — когда всё одобрено.

Если в ветку отправить новые коммиты, пулл-реквест обновится сам.

Ревью кода

Перед слиянием коллеги смотрят изменения и оставляют комментарии прямо к строкам: «здесь можно проще», «а что будет, если поле пустое?». Это ревью кода. Оно ловит ошибки до того, как они попадут в рабочую версию, и помогает команде знать, что происходит в проекте.

Как вести себя на ревью:

  • комментируйте код, а не человека: «эту функцию можно сократить», а не «ты написал криво»;
  • на замечание можно не соглашаться — объясните почему;
  • исправления отправляйте новыми коммитами в ту же ветку.

Issues — задачи проекта

Issues — список задач и ошибок прямо в репозитории. В описании пулл-реквеста пишут Closes #12 — и задача номер 12 закроется сама после слияния. Так видно, какое изменение решило какую проблему.

Форки: вклад в чужие проекты

В чужой репозиторий у вас нет прав на запись. Чтобы предложить правку:

  1. Нажмите Fork — у вас появится своя копия репозитория.
  2. Склонируйте её, создайте ветку, внесите правку, отправьте.
  3. Откройте пулл-реквест из своей копии в оригинальный проект.

Так устроен весь открытый код. Исправить опечатку в документации популярной библиотеки — отличный первый вклад и строчка в портфолио.

GitHub Pages: сайт по ссылке

Если в репозитории есть HTML-страница, её можно бесплатно опубликовать:

  1. Откройте Settings → Pages в репозитории.
  2. В разделе Build and deployment выберите ветку main и сохраните.
  3. Через минуту сайт откроется по адресу https://имя.github.io/репозиторий/.

Каждый git push в main будет обновлять сайт автоматически.

GitHub как портфолио

Для новичка профиль на GitHub — способ показать работодателю, как вы пишете код:

  • закрепите на главной странице профиля 3–4 лучших проекта;
  • в каждом — понятный README и ссылка на живую версию, если она есть;
  • регулярные коммиты в истории показывают, что вы практикуетесь.

Что учить дальше

  1. Ежедневная практика. Ведите в Git каждый свой проект — навык закрепляется только так.
  2. rebase — другой способ объединять ветки, чтобы история оставалась линейной.
  3. Командные договорённости — GitFlow и похожие схемы: какие ветки заводить и как называть.
  4. CI — автоматические проверки. GitHub Actions запускают тесты на каждый пулл-реквест.
  5. Книга Pro Git — бесплатна на git-scm.com, есть перевод на русский.

Попробуйте сами. Создайте в своём репозитории ветку about, добавьте страницу about.html и отправьте ветку на GitHub. Откройте пулл-реквест с понятным описанием, влейте его кнопкой на сайте, а затем заберите изменения к себе.

Решение
Терминал
git switch -c about
# создали about.html
git add about.html
git commit -m "Добавил страницу «Обо мне»"
git push -u origin about

# на GitHub: Compare & pull request → описание → Merge pull request

git switch main
git pull                  # слияние, сделанное на сайте, теперь и у вас
git branch -d about

После слияния на GitHub локальная main об этом ещё не знает — поэтому нужен git pull.

Мини-тест: проверьте себя

Закрепите урок: несколько вопросов, разбор ответов — в конце.

  1. Что такое пулл-реквест?

  2. Зачем нужно ревью кода?

  3. Вы хотите исправить опечатку в чужом открытом проекте. С чего начать?

  4. Что делает GitHub Pages?