Как я могу внести свой вклад в чужой код в GitHub? - PullRequest
229 голосов
/ 08 декабря 2010

Я бы хотел внести свой вклад в определенный проект в GitHub .Должен ли я вилка это? Филиал это?Что рекомендуется и как это сделать?

Ответы [ 7 ]

180 голосов
/ 08 декабря 2010

В идеале вы:

  1. Вилка проект
  2. Сделайте один или несколько хорошо прокомментированных и чистых коммитов в хранилище. Вы можете создать новую ветку здесь, если вы изменяете более одной детали или функции.
  3. Выполните запрос на получение в веб-интерфейсе github.

если это новый запрос на функцию, не начинайте сначала кодирование. Не забудьте опубликовать вопрос, чтобы обсудить новую функцию.

Если функция хорошо обсуждалась и некоторые +1 или владелец проекта одобрили ее, назначьте проблему себе, а затем выполните действия, описанные выше.

Некоторые проекты не будут использовать систему запросов на выборку. Узнайте у автора или списка рассылки, как лучше вернуть код в проект.

31 голосов
/ 08 декабря 2010

Чтобы добавить к ответу Янна , после того, как вы разветвляете проект, вы можете развиваться в любой отрасли, которую хотите (в новой или из первоначального проекта)

Не забудьте:

15 голосов
/ 08 декабря 2010

Чтобы добавить к ответам Яна и VonC, это хороший ресурс от самих github: http://help.github.com/forking/

Также обязательно посмотрите на правую боковую панель под заголовком "Сотрудничество".

10 голосов
/ 15 апреля 2013

Вот отличное видео Railscast здесь , которое проведет вас через процесс. В нем также есть несколько полезных советов, таких как показ того, как определить, над какой веткой вы хотели бы работать при добавлении, с помощью тестов, подмодулей и т. Д.

Несмотря на то, что этот скринкаст в основном предназначен для разработчиков Rails, большая часть информации действительна для участия в любом проекте с открытым исходным кодом.

4 голосов
/ 11 апреля 2017

У Github есть много способов совместной работы над проектом.Модель, используемая в большинстве проектов, представляет собой модель запроса на извлечение.Я начал проект, чтобы помочь людям сделать свой первый запрос на GitHub.Вы можете сделать практический урок, чтобы сделать свой первый PR здесь

Рабочий процесс прост:

  • Форк репо в github
  • Клонируйте репо на свою машину
  • Создайте ветку и внесите необходимые изменения
  • Вставьте свои изменения в свою форк на GitHub git push origin branch-name
  • Перейдите на свою форк на GitHubсм. кнопку Compare and pull request
  • Нажмите на нее и укажите необходимые данные
3 голосов
/ 16 апреля 2012

Лорнайн имеет пост в блоге, который хорошо объясняет процесс: http://www.lornajane.net/posts/2010/contributing-to-projects-on-github

2 голосов
/ 01 июня 2019

Технический рабочий процесс

Я бы предложил следующий рабочий процесс:

  1. Форк репозитория (через веб-интерфейс GitHub: кнопка «Вилка»)
  2. В вашем разветвлениирепозиторий, скопируйте URL
  3. Clone (в командной строке)

    git clone <url-from-your-workspace>

  4. Введите каталог, который только что был создани создайте ветку

    cd <directory> git checkout -b <branchname>

  5. Теперь внесите изменения

  6. Вы можете создать один или несколько коммитов послекаждое изменение:

    commit -a

  7. По завершении нажмите изменения

    git push origin <branch>

  8. В командной строке вы должны увидеть URL для создания PR .Зайдите на URL и нажмите кнопку, чтобы создать PR.

  9. Если нет, посетите репозиторий в браузере, и он предложит вам кнопку для создания запроса на извлечение

Вот и все.

Итак, в основном, вы раздвоили репозиторий в своем рабочем пространстве, создали новую ветвь и вытолкнули эту новую ветвь.

Если вы позже сделаете больше пиараиз того же клонированного хранилища вы должны выполнить синхронизацию (получить последние изменения из исходного хранилища), прежде чем создавать другую ветку для другого PR:

git checkout master
git remote add upstream <url-of-original-repo>
git pull upstream master

Другие соображения:

  • В проекте могут быть рекомендации для участников: найдите файл CONTRIBUTING.rst или .md
  • , который вы, возможно, захотите следовать рекомендациям по кодированию для проекта
  • . Сначала вы можете изложить свою идею в качестве вопроса
  • вы можете посмотреть на вкладке «Запросы на извлечение» для проекта и проверить, есть ли открытый PR, объединенный PR

Эти предложения здесь, чтобы избавить вас от неприятностейположить работу в PR, который не будет объединен.Если в проекте есть активность, и пиар слился, это хороший знак.Если есть рекомендации для участников, следуйте им.

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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...