Правила ведения репозитория - PugachA/UnmannedAerialVehicle GitHub Wiki
Репозитории находится две бесконечно живущие ветки master
и develop
. Эти ветки защищены от прямого push
изменения в них можно внести только через Pull Request
(далее PR
).
-
master
- самая главная ветка, в ней находится продакшен код, который полностью работоспособен и в данный момент находится на бортеUAV
-
develop
- ветка тестового стенда, на которой должен находятся полностью работающий код, проходящий тестирование, но еще не доросший до релиза вmaster
. Все новый изменения должны сначала пройти через эту ветку, а потом попасть вmaster
-
feature
- ветка новых функциональностей. Предназначена для параллельной разработки над проектов при добавлении новой функциональности. Может создаваться изdevelop
и вливаться вdevelop
. Стиль названия :feature/[кратное-описание-новой-функции]
(Пример :feature/add-new-fligth-mode
) -
release
- подготовка к новой версии продакшена. Создается изdevelop
сливается вmaster
и вdevelop
. В ней идут незначительные доработки кода и последняя подготовка в новой версии. Стиль названия :release/[номер версии]
(Пример :release/1.0.0
) -
support
- поддержка старого функционала. Например при выходе новой версии библиотеки, которая используется в проекте. Начинается изdevelop
вливается вdevelop
Стиль названия :support/[краткое-описание-изменений]
(Пример :support/modify-lib-version
) -
hotfix
- исправление серьезных багов в коде. Предназначена для срочных изменений, которые требуются сразу вmaster
е. Начинается изmaster
заканчивается вmaster
Стиль названия :hotfix/[краткое-описание-бага]
(Пример :hotfix/fix-null-exception
)
Удобное визуальное представление.
Также можно почитать Статья на Хабре
Для начала работы с кодом нужно скопировать репозиторий себе на локаль:
git clone https://github.com/PugachA/UnmannedAerialVehicle.git
Для любых изменений нужно создать ветку. Не забудь перед началом создании ветки сделать git pull
git checkout -b feature/add-new-mode
Производятся изменения кода. Эти изменения нужно принять. Проверяем наличие изменений
git status
Если согласны со всеми изменениями (добавляем все)
git add .
Выборочная добавка
git add <имя файла>
Фиксируем изменения
git commit -m "Сообщение коммита"
Помни! Коммит должен содержать одно логическое изменение. Нужно стараться делать как можно больше коммит с меньшим количеством изменений. После того как закончил изменения нужно отправить изменения на удаленный репозиторий.
Структура коммита смотри пример
<Основная мысль коммита>
<Дополнительная информация>
<Дополнительная информация>
git push
Когда ты завершил свои изменения нужно отправить на review
через PR
. Делается этого через web-интерфейс GitHub
а.
Смена ветки
git checkout <имя ветки>
Отмена незафиксированных изменений
git reset --hard HEAD
Удаление локальной ветки
git branch -d <имя_ветки>
Посмотреть коммиты
git log
git glog
Чтобы спрятать все текущие незафиксированные изменения
git stash
Посмотреть список спрятанных изменений
git stash --list
Применить последнее спрятанное изменение
git stash apply
Применить любое спрятанное изменение
git stash apply stash@{1}