6.2 KiB
1. Сделайте "форк" репозитория vk, а затем клонируйте его в свою локальную среду разработки
git clone git@github.com:имя-вашего-пользователя/vk.git
2. Добавьте основной репозиторий vk как удаленный (remote) с названием "upstream"
Перейдите в директорию куда вы сделали клон на первом шаге и выполните следующую команду:
git remote add upstream git://github.com/vknet/vk.git
3. Получите последние изменения кода из основного репозитория vk
git fetch upstream
Вы должны начинать с этого шага для каждого нового патча, чтобы быть уверенными, что работаете с кодом, содержащим последние изменения.
4. Создайте новую ветку, основанную на текущей develop ветке vk
git checkout upstream/develop git checkout -b 999-название-вашей-ветки
5. Пишем код
Убеждаемся, что он работает :)
6. Cделайте коммит изменений
Добавляем файлы c изменениями:
# один файл git add путь/до/вашего/файла.cs # все измененные файлы git add .
Если добавить в описание коммита номер тикета #XXX, тогда GitHub автоматически свяжет его с тикетом над которым вы работаете:
git commit -m "Описание коммита для тикета #42"
7. Получите последние изменения кода из upstream (добавили на втором шаге)
git pull upstream develop
Опять же таким образом убеждаемся, что ваша ветка содержит последние изменения. Если возникли конфликты, исправляем и снова коммитим.
8. Имея код без конфликтов отправьте изменения на GitHub
git push -u origin 999-название-вашей-ветки
9. Пришлите pull request в основной репозиторий vk
Перейдите в свой репозиторий на GitHub'e и нажмите "Pull Request", выберите свою ветку справа и добавьте описание вашего "Pull Request'a", чтобы GitHub автоматически связал его с тикетом добавьте в комментарий номер тикета '#999'.
10. Ожидайте рассмотрения вашего кода
Кто-то рассмотрит ваш код и может быть попросит внести изменения, если это произошло возвращайтесь к 5 шагу.
11. Удаление ветки
После того как ваш код приняли или отклонили, вы можете удалить ветку из локального репозитория и GitHub'a
git checkout develop git branch -D 999-название-вашей-ветки git push origin --delete 999-название-вашей-ветки
Все шаги кратко
git clone git@github.com:ваше-имя-пользователя/vk.git git remote add upstream git://github.com/vknet/vk.git
git fetch upstream git checkout upstream/develop git checkout -b 999-название-вашей-ветки /* пишем код */ git add путь/до/вашего/файла.cs git commit -m "Описание коммита для тикета #42" git pull upstream develop git push -u origin 999-название-вашей-ветки
- При разработке / доработке функционала необходимо писать тесты
- Выберите / Заведите issue и укажите в комментарии что взяли в работу: https://github.com/vknet/vk/issues
Примечание
В *.cs файлах требуется использовать для отступов Tab
Правила разработки:
- Если вы ведете разработку в VS2017/2019 c использованием Resharper, либо Rider применяйте пожалуйста принятое форматирование для проекта. Правила описаны в .editorconfig и применяются Resharper/Rider при выполнении команды Code | Reformat code (Ctrl+Alt+Enter).
- Дробите большую задачу на маленькие. Например необходимо для категории Message добавить несколько новых методов.
- 2.1. Реализуйте один метод.
- 2.2. Напишите на него тесты.
- 2.3. После проверки прохождения тестов сделайте коммит, опишите в коммите краткую суть проделанной работы: "Реализовал метод Send". Для более полного понимания прочитайте статью: https://m.habr.com/post/416887/
- 2.4. Возьмите следующий метод для реализации и вернитесь к пункту 2.1 и так пока не выполните работу до конца.
- Сделайте Pull Request
- Проверьте что все тесты проходят, в противном случае найдите причину и локализуйте ее
- После получения ваших изменений будет проведено краткое ревью проделанной работы
- Если есть замечания устраните их