Внесение изменений
Здесь расположена документация по внесению изменений и новой функциональности в код.
Для контроля версий используется git
: https://git-scm.com.
Пререквизиты#
-
Склонированный репозиторий:
-
(желательно) Установленное согласно инструкции окружение.
Перед внесением изменений#
Большую часть из перечисленного ниже можно делать не в терминале, а в интерфейсе многих редакторов кода, таких как VSCode, Pycharm, Spyder и других.
Перед внесением любых изменений очень желательно:
-
Скачать последние изменения в репозитории:
-
Переместиться на ветку
master
(ветка с самым актуальным состоянием приложения): -
Создать локальную ветку для своих изменений:
Далее можно вносить изменения.
Тестирование изменений#
Чтобы убедиться, что новая функциональность не сломала старую, можно в любой момент времени запускать тесты.
Быстрый базовый набор тестов:
Более медленный, но более полный набор тестов:
Фиксирование изменений#
Чтобы зафиксировать версию своих изменений (сделать коммит) нужно:
-
Посмотреть статус изменений:
Эта команда выведет список новых и измененных файлов по мнению Git. Тут лучше убедиться, что кроме измененных разработчиком файлов больше ничего не перечислено. Git хранит всю историю изменений локально, в связи с чем очень нежелательно коммитить тяжелые файлы, так как они навсегда останутся в истории и будут занимать лишнее место на компьютерах всех разработчиков.
Кроме того, она выведет ветку, на которой сейчас происходят изменения. Нужно убедиться, что она указана верно (если написано
master
- не верно :) ).Пример:
> git status On branch issue-7-docs-update Changes not staged for commit: (use "git add <file>..." to update what will be committed) (use "git restore <file>..." to discard changes in working directory) modified: app/lib/testing/__init__.py no changes added to commit (use "git add" and/or "git commit -a")
-
Закоммитить изменения:
Отправка изменений в удалённый репозиторий#
После того, как изменения были закоммичены, можно отправить их в удалённый репозиторий для запроса вливания в master
.
Для этого нужно:
- Отправить ветку в удалённый репозиторий (GitHub):
-
Создать Pull request: на странице репозитория в GitHub во вкладке Pull Requests нажать кнопку
New pull request
и в менюcompare
выбрать свою ветку. Далее нажать кнопку создания.Далее изменения будут доступны для просмотра и будут запущены автоматические проверки. Если проверки успешны, можно влить Pull request в
master
нажатием кнопкиSquash and merge
.
Новые коммиты можно добавлять в этот же Pull request командой
В этот момент git попытается отправить на GitHub слепок изменений. Скорее всего, он запросит аутентификацию. В качестве логина нужно ввести логин на GitHub, в качестве пароля - токен со страницы https://github.com/settings/tokens/new. На этой странице нужно поставить галочку на скоупе repo
.
После вливания ветки в мастер коммитить в неё больше нельзя - нужно создавать новую. Удалить ветку локально можно командой
И получить последнюю версию мастера (с только что влитыми изменениями) можно командой