1. Сделайте "форк" репозитория, а затем клонируйте его в свою локальную среду разработки
git clone [email protected]:имя-вашего-пользователя/repo.git
Перейдите в директорию куда вы сделали клон на первом шаге и выполните следующую команду:
git remote add upstream git://github.com/repo/repo.git
git fetch upstream
Вы должны начинать с этого шага для каждого нового патча, чтобы быть уверенными, что работаете с кодом содержащим последние изменения.
git checkout upstream/master git checkout -b 999-название-вашей-ветки
Убеждаемся, что он работает :)
Добавляем файлы c изменениями:
# один файл git add путь/до/вашего/файла.js # все измененные файлы git add .
Если добавить в описание коммита номер тикета #XXX, тогда GitHub автоматически свяжет его с тикетом над которым вы работаете:
git commit -m "Описание коммита для тикета #42"
git pull upstream master
Опять же таким образом убеждаемся, что ваша ветка содержит последние изменения. Если возникли конфликты, исправляем и снова комитим.
git push -u origin 999-название-вашей-ветки
9. Пришлите pull request в основной репозиторий repo
Перейдите в свой репозиторий на GitHub'e и нажмите "Pull Request", выберите свою ветку справа и добавьте описание вашего "Pull Request'a", чтобы GitHub автоматически связал его с тикетом добавьте в комментарий номер тикета '#999'.
Кто-то рассмотрит ваш код и может быть попросит внести изменения, если это произошло возвращайтесь к 5 шагу.
После того как ваш код приняли или отклонили вы можете удалить ветку из локального репозитория и GitHub'a
git checkout master git branch -D 999-название-вашей-ветки git push origin --delete 999-название-вашей-ветки
git clone [email protected]:ваше-имя-пользователя/repo2.git git remote add upstream git://github.com/repo/repo.git
git fetch upstream git checkout upstream/master git checkout -b 999-название-вашей-ветки /* пишем код */ git add путь/до/вашего/файла.js git commit -m "Описание коммита для тикета #42" git pull upstream master git push -u origin 999-название-вашей-ветки