Как работать с форкнутыми репозиториями github.com?

  • Git

Самый основной метод

1. Форкаете репозиторий

github.com/user1/project

получаете

github.com/you/project

2. Уже форкнутый репозиторий сливаете себе на комп:

git clone git@github.com:/you/project project

3. Создаёте отсылку на «родительский» репозитарий, например как на upstream

git remote add git@github.com:/user1/project upstream

чтобы потом сливать изменения с «родителя» себе

git pull upstream master

4. Создаёте новую ветку

git checkout -b feature

5. Работаете, делаете коммиты, в случае необходимости отслеживания изменений в «родителе», сливаете изменения с него и вливаете в свою ветку таким образом:

git checkout master git pull upstream master git checkout feature git merge master

6. Когда работу сделали, заливаете изменения в свой github-репозиторий в свою ветку:

git push origin feature

7. Теперь идёте на гитхаб, в свой репозиторий и жмёте вверху кнопочку «Pull request»

8. Слева выбираете в какую ветку будут вливаться изменения в родительском репозитории, справа — какие изменения будут браться с вашего репозитория. По примеру: справа project/master, слева project/feature. ВАЖНО: Договоритесь с владельцем «родительского» репозитория, в какую ветку будете вливать изменения (он может написать это в README)

9. Заполняете название и описание (название потом попадёт в описание мёрдж-коммита и станет достоянием общественности, учтите это).

10. Нажимаете Send Pull Request Вуаля, вы его отправили. Владелец рассмотрит ваши изменения и, возможно, их примет и вольёт к себе. На практике, лучше перед посылкой пулл-реквестов, вручную синхронизироваться с веткой, в которую будете посылать изменения, чтобы у владельца merge прошёл гладко (больше шансов, что пулл примут ;-) ) Не забудьте потом сделать

git pull upstream master

чтобы увидеть изменения у себя.


Рейтинг@Mail.ru