Контрибьют

Рекомендации, которые помогут сделать хороший pull request в открытый Github проект.

  1. Вы должны быть зарегистрированы на GitHub. После этого, зайдите в заинтересовавший вас проект и нажмите кнопку fork. Теперь на вашей странице в GitHub добавился новый проект.

  2. Скопируйте свой fork на локальную машину с помощью команды:

     git clone https:/github.com/your_name/repo
    

    Ваш удаленный fork репозиторий называется origin.

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

     git remote add upstream "url"
    

    Теперь вы можете выполнять pull запросы с оригинала, например:

     git pull upstream master
    
  4. Создайте ветку для работы. Если в проекте есть ветка для разработчиков, скопируйтесь с нее, иначе с master.

  5. Внесите свои доработки и сделайте коммит. Придерживайтесь стиля кода, который принят в проекте.

  6. Если в проекте есть тесты, запустите их. При необходимости напишите свои.

  7. Внесите правки в документацию, если это необходимо.

  8. Теперь нужно объединить все коммиты в один. Чтобы посмотреть список коммитов можно воспользоваться командой:

     git log --graph --decorate --pretty=oneline --abbrev-commit
    

    Затем воспользуйтесь командой на выбор

     git rebase -i HEAD~[номер коммита]
    

    или

     git rebase -i [SHA]
    

    Данная команда запускает интерактивный режим, в котором можно реорганизовать коммиты. Вы увидите текстовый файл с содержанием, отражаемым выбранные коммиты:

     pick b8e4605 comment
     pick e04f243 comment
     pick e3950bb comment
     pick 5c8f591 comment
     pick c7f3446 comment
    

    Чтобы объединить коммиты в один, отредактируйте файл следующим образом:

     pick b8e4605 comment
     squash e04f243 comment
     squash e3950bb comment
     squash 5c8f591 comment
     squash c7f3446 comment
    
  9. Сделайте коммит в ваш гитхаб fork проект с помощью команды

     git push origin +branch_name
    
  10. Выполните pull request из вашего fork проекта.

  11. После того, как ветка будет принята и слита с основной, можно выполнить pull с upstream в локальном репозитории и удалить старые ветки.

Источник – bxnotes
Редактировать на GitHub