Статьи

Руководство для начинающих по содействию проекту GitHub

Это руководство по участию в проекте с открытым исходным кодом, который использует GitHub. В основном это основано на работе Zend Framework , Slim Framework и joind.in . Тем не менее, это общее руководство, поэтому проверьте README вашего проекта на предмет специфики.

Шаг 1. Установите рабочую копию на вашем компьютере

Во-первых, вам нужен локальный форк проекта, поэтому продолжайте и нажмите кнопку «форк» в GitHub. Это создаст копию хранилища в вашей собственной учетной записи GitHub, и вы увидите примечание, что оно было разветвлено под именем проекта:

раздвоенный

Теперь вам нужна копия локально, поэтому найдите «URL-адрес клонирования SSH» в правом столбце и используйте его для локального клонирования с помощью терминала:

$ git clone git@github.com:akrabat/zend-validator.git

Который будет делать что-то вроде этого:

клон

Перейдите в каталог нового проекта:

$ cd zend-validator

Наконец, на этом этапе вам необходимо настроить новый пульт, который указывает на исходный проект, чтобы вы могли получить любые изменения и перенести их в локальную копию. Во-первых, часы по ссылке на оригинальный репозиторий — они помечены как «Forked from» в верхней части страницы GitHub. Это вернет вас на главную страницу GitHub проектов, так что вы сможете найти «URL-адрес клонирования SSH» и использовать его для создания нового удаленного устройства, которое мы назовем апстрим .

$ git remote add upstream git@github.com:zendframework/zend-validator.git

Теперь у вас есть два пульта для этого проекта на диске:

  1. Происхождение, которое указывает на ваш GitHub форк проекта. Вы можете читать и писать на этот пульт.
  2. вверх по течению, что указывает на основной репозиторий проекта GitHub. Вы можете читать только с этого пульта.

Шаг 2: Сделайте некоторую работу

Это забавная часть, где вы можете внести свой вклад в проект. Обычно лучше начать с исправления ошибки, которая вас либо раздражает, либо вы обнаружили в трекере проблем проекта. Если вы ищете место для начала, во многих проектах используется ярлык «легкий выбор» (или какой-либо вариант), чтобы указать, что эта проблема может быть решена кем-то новым для проекта.

Ветвь!

Правило номер один — помещать каждую часть работы в отдельную ветку . Если в проекте используется git-flow , то он будет иметь как главную ветвь, так и ветвь разработки . Общее правило таково: если вы исправляете ошибку, тогда переходите от мастера, а если вы добавляете новую функцию, то переходите от разработки. Если в проекте есть только основная ветка, то ветка от этого. Некоторые проекты, такие как Slim, используют ветки, названные по номеру версии ( 2.x и 3.x в случае Slim). В этом случае выберите соответствующую ветку.

В этом примере мы предположим, что мы исправляем ошибку в zend-validator, поэтому мы разветвляемся от master :


$ git checkout master
$ git pull upstream master && git push origin master
$ git checkout -b hotfix/readme-update

Во-первых, мы гарантируем, что мы находимся на главной ветви Затем команда git pull синхронизирует нашу локальную копию с исходным проектом, а команда git push синхронизирует ее с нашим разветвленным проектом GitHub. Наконец мы создаем нашу новую ветку. Вы можете назвать свою ветку как угодно, но это поможет ей стать значимой. Включение номера вопроса обычно полезно. Если в проекте используется git-flow, как и в Zend-валидаторе, существуют определенные соглашения об именах, в которых ветвь имеет префикс «hotfix /» или «feature /».

Теперь вы можете делать свою работу.

Убедитесь, что вы исправляете только то, над чем работаете. Не поддавайтесь искушению исправить некоторые другие вещи, которые вы видите по пути, поскольку ваш PR, вероятно, будет отклонен. Убедитесь, что вы фиксируете в логических блоках. Каждое сообщение о коммите должно быть вменяемым. Прочитайте заметку Тима Попа о сообщениях Git Commit .

Шаг 3: Создайте PR

Чтобы создать пиар, вам нужно перенести ветку на исходный пульт, а затем нажать несколько кнопок на GitHub.

Чтобы нажать новую ветку:

$ git push -u origin hotfix/readme-update

Это создаст ветку в вашем проекте GitHub. Флаг -u связывает эту ветку с удаленной, так что в будущем вы можете просто набрать git push origin.

Вернитесь в браузер и перейдите на свой форк проекта (https://github.com/akrabat/zend-validator в моем случае), и вы увидите, что ваша новая ветка указана вверху с помощью удобного «Сравнить Кнопка & тянуть запрос «:

Кнопка Pr

Идите вперед и нажмите кнопку!

Если вы видите желтое поле, подобное этому:

Содействие

Нажмите на ссылку, которая приведет вас к файлу CONTRIBUTING проекта и прочитайте его! Он содержит ценную информацию о том, как работать с кодовой базой проекта, и поможет вам принять ваш вклад.

На этой странице убедитесь, что «базовая ветвь» указывает на правильный репозиторий и ветвь. Затем убедитесь, что вы предоставили хороший, краткий заголовок для своего запроса на извлечение и объясните, почему вы создали его в окне описания. Добавьте любые номера соответствующих выпусков, если они у вас есть.

Создать пр

Если вы прокрутите немного вниз, вы увидите изменения ваших изменений. Дважды проверьте, что он содержит то, что вы ожидаете.

Когда вы довольны, нажмите кнопку «Создать запрос на извлечение», и все готово.

Шаг 4: Обзор сопровождающими

Чтобы ваша работа была интегрирована в проект, сопровождающие будут проверять вашу работу и либо запрашивать изменения, либо объединять ее.

Статья Лорны Митчелл Обзоры кода: прежде чем вы даже запустите Код охватывает то, что будут искать сопровождающие, так что прочитайте его и убедитесь, что вы сделали свою жизнь максимально легкой.

Подводить итоги

Это все, что нужно сделать. Основы:

  1. Разветвите проект и клонируйте его локально.
  2. Создайте вышестоящий пульт и синхронизируйте локальную копию, прежде чем переходить.
  3. Отделение для каждого отдельного произведения.
  4. Сделайте работу, напишите хорошие сообщения коммита и прочитайте файл CONTRIBUTING, если он есть.
  5. Нажмите на ваш источник хранилища.
  6. Создайте новый PR в GitHub.
  7. Ответить на любой отзыв кода отзыв .

Если вы хотите внести свой вклад в проект с открытым исходным кодом, рассмотрите joind.in !