Правила ведения репозитория - 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}
