раздел 02
Совместная работа
Главная причина, по которой код держат на GitHub, - работа в команде. Несколько человек правят один проект, не наступая друг другу на ноги.
Ветки
Ветка - это отдельная линия разработки. Вместо того чтобы менять основной код напрямую, вы создаёте ветку, спокойно правите в ней, а потом вливаете изменения обратно. Основная ветка обычно называется main.
# создать ветку и переключиться на неё
git checkout -b feature/login
Pull Request
Pull Request (PR) - предложение влить изменения из вашей ветки в основную. Это не просто слияние: PR открывает обсуждение. Видны все изменения построчно, можно оставлять комментарии, запускать проверки и только потом мержить.
Code review
Когда открыт PR, другие участники делают code review - читают код и комментируют. Можно оставить замечание к конкретной строке, предложить готовую правку, одобрить (approve) или запросить изменения. Это ловит ошибки до того, как они попадут в основную ветку.
Issues
Issues - задачи и баги проекта. Каждая issue это отдельная карточка: заголовок, описание, обсуждение, метки и ответственный. Сюда пишут о найденных багах, предлагают фичи, планируют работу. Issue можно связать с Pull Request, и при мерже она закроется автоматически.
Fork
Fork - ваша личная копия чужого репозитория на вашем аккаунте. Нужен, когда у вас нет прав на запись в оригинал, но вы хотите предложить правки. Вы форкаете проект, меняете в своей копии и отправляете изменения обратно через Pull Request.
Типовой флоу контрибьюции
Так выглядит участие в чужом опенсорс-проекте: