Рекомендации по использованию Git
Частые, маленькие и осмысленные коммиты
Делайте коммиты часто — не ждите, пока «всё будет готово».
Маленький коммит — это безопасный снимок состояния.
Если что-то сломалось — вы легко найдёте, где именно.
Пример плохой практики:
Вы работаете над экраном входа 3 дня — меняете App.js, LoginScreen.js, api.js, styles.tsx — и только тогда делаете один коммит:
"finished login" — непонятно, что изменилось.
Пример хорошей практики:
- Добавил кнопку входа →
feat: добавил кнопку входа с анимацией - Подключил API для авторизации →
feat: подключил POST /login к серверу - Исправил баг с фокусом поля ввода →
fix: исправил фокус на поле email в iOS
Каждый коммит — отдельная логическая единица.
Легче откатиться, легче ревью, легче находить баги.
Описательные сообщения коммитов
Сообщение коммита — это история вашего кода.
Оно должно отвечать на вопрос: «Что изменилось и зачем?»
Хорошее сообщение:
fix: убрал дублирование стилей в Button и PrimaryButton
Плохое сообщение:
fixed stuff
Используйте формат:
<тип>: <краткое описание>
Типы (по соглашению Conventional Commits):
feat:— новая функцияfix:— исправление багаdocs:— изменения в документацииchore:— технические задачи (обновление зависимостей, настройка сборки)refactor:— рефакторинг без изменения поведения
Пример:
git commit -m "feat: добавил экран восстановления пароля"
git commit -m "fix: кнопка 'Войти' не реагировала на тач в Android"
git commit -m "chore: обновил expo SDK до версии 50"
Не пишите «исправил ошибку», «сделал лучше» — это неинформативно.
Пишите что было сделано, где, и если важно — почему.
Использование веток для новых фич и исправлений
Никогда не работайте напрямую в main.
Всегда создавайте ветку для каждой задачи.
Пример:
git switch main
git pull
git switch -c feature/login-screen
# ... работаю над экраном входа ...
git add .
git commit -m "feat: добавил экран входа с валидацией"
git push origin feature/login-screen
Затем на GitHub создаёте Pull Request (или Merge Request).
После ревью — объединяете с main.
Это даёт:
- Безопасность: основной код не ломается.
- Чёткость: каждая ветка — одна задача.
- Коллаборацию: другие могут видеть вашу работу, комментировать, предлагать правки.
- Возможность отложить: если задача не готова — вы можете закрыть ветку без влияния на проект.
Если вы работаете над двумя задачами одновременно — две ветки.
Если вы исправляете баг — веткаbugfix/....
Если вы экспериментируете — веткаexperiment/....
Если вы добавляете новые фичи — веткаfeature/....
Ветки — это ваша страховка.
Они бесплатны. Они не занимают места.
Используйте их всегда.