Участие в репозитории с открытым исходным кодом
После того как вы определили область, в которой можно принять участие, следующим шагом является подготовка вашего участия. Здесь мы рассмотрим, как можно сообщить о намерениях принять участие в проекте, сформировать запрос на вытягивание и повысить ваши шансы на его принятие.
При работе над проектом с открытым исходным кодом общение — это ключ к успеху. Вам может быть не очень комфортно взаимодействовать с другими пользователями по предложенным изменениям или улучшениям. Часто этот диалог приводит к дискуссиям и отклонениям от вашего изначального видения.
Отказ от активного взаимодействия с другими пользователями, участвующими в проекте с открытым исходным кодом, означает риск работы над задачами, над которыми уже работает кто-то другой. Есть шанс, что вы можете работать с функциями или улучшениями, которые не соответствуют ценностям или методикам проекта. В любом случае время будет потрачено впустую. И наоборот, фиксация кода при активном общении гарантирует, что работа будет принята и повлияет на работу положительно.
Как обеспечить успешную работу при обсуждении новых возможностей и изменений с другими участниками проекта? Старайтесь быть открытым для других мнений. Принимайте обратную связь и будьте терпеливы. Люди, ведущие проекты с открытым кодом, скорее всего, имеют постоянную работу и частную жизнь. Если вы не получаете ответ немедленно, подождите немного (подольше) перед тем, как снова обращаться к разработчикам.
Сообщайте о своих намерениях разработчикам
Перед любой работой следует всегда сначала сообщить о своем намерении. Если в файле README не указано иное, средство регистрации проблем обычно является лучшим местом для этого.
Если вы хотите работать с существующей проблемой, проверьте, не назначена ли она кому-либо, просмотрев раздел исполнителей. Также проверьте раздел Связанные запросы на включение изменений. Связанный запрос на включение изменений означает, что кто-то уже работает над ним. Просмотрите комментарии, чтобы узнать, не выразил ли кто-то желание работать над проблемой. Если все ясно, опубликуйте комментарий к проблеме, чтобы обозначить свой интерес к работе над ней. Таким образом вы информируете людей, приходящих позже, что кто-то уже работает над проблемой. Кроме того, при необходимости разработчик может дать вам рекомендации и советы.
Если вы хотите работать с новой функцией или ошибкой, которая еще не существует в средстве регистрации проблем, создайте новую проблему. Не забудьте использовать шаблон проблемы, если он предложен, и ясно выразить свое намерение работать над проблемой. Если это предложение новой функции или проблема требует значительных изменений, перед переходом к следующему шагу обязательно получите согласие авторов.
Создание запроса на включение внесенных изменений в репозиторий GitHub
После того как вы обозначили желание помочь проекту, вы готовы приступить к работе над своим фактическим вкладом.
Ваш вклад примет форму запроса на включение внесенных изменений или PR. Запрос на включение внесенных изменений — это специальное место на GitHub, которое содержит несколько вещей:
- Название и описание изменений.
- Одну или несколько фиксаций, которые составляют предлагаемые изменения.
- Комментарии, в которых все могут участвовать при обсуждении изменений.
- Проверки кода, где можно найти подробные отзывы об изменениях и в конечном итоге зафиксировать предложения.
- Проверки состояния, поступающие, например, из автоматических тестов, которые могут быть размещены авторами. Проверки состояния могут использоваться в разных целях. Например, чтобы убедиться, что ваши изменения соответствуют правилам проекта или что изменения не нарушают код.
После создания запроса на включение изменений его можно обновить с помощью новых фиксаций, комментариев или проверок кода. Этот процесс продолжится до утверждения и вливания авторами проекта запроса на включение изменений или отклонения изменений и закрытия запроса на включение изменений. Объединение запроса на включение внесенных изменений означает, что изменения были интегрированы в базу кода проекта.
Пошаговое создание запроса на включение изменений
Откройте страницу GitHub для проекта, в который вы хотите внести вклад.
Выберите кнопку Вилка, чтобы создать копию репозитория в вашей учетной записи GitHub. Этот шаг необходим, так как по умолчанию у вас нет разрешений на внесение изменений в общедоступный репозиторий, если только он не является вашим собственным (копированием). Разветвляя проект, вы создаете копию, в которую можно вносить изменения.
В меню профиля учетной записи выберите Ваши репозитории.
Выберите вилку репозитория.
Нажмите кнопку Код, чтобы получить сведения о том, как клонировать репозиторий git на локальный компьютер.
Выберите значок буфера обмена, чтобы скопировать URL-адрес репозитория, а затем введите в окне терминала:
git clone <REPOSITORY_URL>Эта команда создаст копию репозитория на локальном компьютере.
Кроме того, можно использовать GitHub Desktop, если вы предпочитаете использовать приложение. Кроме того, вы можете использовать GitHub Codespaces, если видите этот вариант. Если вы пользователь Visual Studio Code, GitHub Codespaces будет знаком вам.
После завершения клонирования проекта введите папку проекта:
cd <PROJECT_FOLDER>(Дополнительно) Создайте новую ветвь с помощью следующей команды:
git checkout -b <BRANCH_NAME>Этот шаг не является обязательным, но настоятельно рекомендуется. Новая ветвь позволяет работать с несколькими публикациями, каждая из которых использует другую ветвь, отдельно.
Внесите желаемые изменения в проект и зафиксируйте их:
git add . git commit -m "<COMMIT_MESSAGE>"Эти команды подготовят ваши изменения к фиксации, а затем создадут фиксацию с указанным сообщением. Не забудьте точно описать изменения в сообщении о фиксации. Также рекомендуется проверить наличие соглашения о тексте сообщения в файле CONTRIBUTING.
Отправьте изменения в удаленное приложение с помощью команды:
git push --set-upstream origin <BRANCH_NAME>Эта команда создает новую ветвь в вышестоящем репозитории на GitHub (в вашу вилку) и отправляет в нее все фиксации.
Примечание.
Когда мы говорим о вышестоящем репозитории, мы имеем в виду удаленный репозиторий, связанный с локальным репозиторием.
origin— это псевдоним по умолчанию для URL-адреса репозитория, созданного Git на шаге 4.Если вы ранее не создавали ветвь, введите только
git push.Откройте вилку проекта на GitHub и выберите кнопку Сравнить и выполнить запрос на включение изменений в появившемся поле предложения.
Заполните поля заголовка и описания и выберите Создать запрос на вытягивание.
Если имеется шаблон для описания запроса на включение изменений, потратьте время и заполните всю необходимую информацию. Если такого шаблона нет, убедитесь, что в сообщении достаточно контекста, чтобы авторы поняли предлагаемые вами изменения и их причины. Кроме того, следует создать ссылку на соответствующую проблему, указав ее номер с помощью
#<ISSUE_NUMBER>. Номер проблемы можно найти рядом с ее заголовком.
Передача проверок состояния
После создания запроса на включение изменений вы можете увидеть в нижней части раздел с проверками состояния, как показано ниже.
Это автоматизированные проверки, которые были размещены авторами проекта для обеспечения надлежащего качества проекта.
Чтобы получить запрос на включение внесенных изменений, необходимо пройти все автоматические проверки. Если проверки не пройдены, как на скриншоте выше, можно щелкнуть кнопку Сведения, чтобы получить дополнительные сведения об ошибке и узнать, что нужно исправить.
Если вы не уверены, что делать с ошибкой проверки, всегда можно использовать комментарии, чтобы запросить рекомендации авторов проекта или помощь для исправления.
Запрос рекомендаций или проверок для запросов на включение внесенных изменений
Возможно, вы не уверены в корректности изменений и хотите получить мнение авторов проекта. Лучший способ сделать это — внести комментарии непосредственно в запросах на включение изменений. Если вы считаете, что изменения находятся в процессе работы, вы также можете создать черновик запроса на включение изменений вместо этого, чтобы запрашивать рекомендации или помощь от других участников.
Когда разработчики проекта доходят до вашего запроса на включение изменений, они могут ответить на ваш комментарий или напрямую проверить ваши предполагаемые изменения. Существует несколько вариантов результата при проверке запроса на включение изменений:
- Изменения утверждены. Поздравляем!
- Ваш запрос на включение внесенных изменений требует изменений. Не волнуйтесь! Внимательно изучите предоставленную обратную связь. Если вы внесете предлагаемые изменения, высока вероятность, что ваш запрос на включение изменений будет принят. При отправке новых фиксаций в вашу ветвь запрос на включение внесенных изменений будет автоматически обновляться новыми изменениями.
- Рецензент внес некоторые комментарии. Обычно это означает, что требуются дополнительные сведения об изменениях или их причинах.
Ответ на комментарии в запросе на включение внесенных изменений
Не забывайте всегда сохранять уважительный тон при общении и действовать в соответствии с кодексом поведения. Скорее всего, прежде чем ваши изменения будут приняты, пройдет дискуссия с авторами-разработчиками или другими участниками проекта.
Для работы с открытым кодом требуется терпение. Иногда вы не получаете немедленной обратной связи. Не обратитесь к клиентам в частном порядке через электронную почту, X или любые другие средства, надеясь получить быстрый ответ. Такое поведение не приветствуется. Публичное обсуждение также дает возможность другим участникам или гостям узнать о процессах, которые вызвали изменения, и о рекомендациях по итогам обсуждения.