Возьмите за правило, что когда вы пишете новый функционал - всегда отводить новую ветку от основной. В основной у вас будет лежать код, который на данный момент работает на продакшене.
Тоесть, у вас есть проект. Надо реализовать новую фичу шифрования, например. Вы отводите ветку от основной
git checkout -b feature/encryption
Пишете код, тестируете, рефакторите при необходтимости. После того как фича реализована, мержите ее с основной веткой. Для небольшой команды достаточно вот этих основных команд
git clone - выкачать репозиторий
git pull – получение изменений из удаленного репозитория
git checkout - переключиться на ветку
git checkout –b - отведение новой ветки от текущей с переключением на нее
git add – добавление файлов в индекс
git commit –m ‘’ – коммит с комментарием
git push origin - пуш закоммиченных изменений в удаленный репозиторий origin
git branch –d - локальное удаление ветки
git stash save –keep-index + git stash drop – локальное удаление изменений в отслеживаемых файлах