Best Practice для создания GIT веток в Xcode
Основная структура:
main/master — стабильная версия, готовая к релизу
develop — активная разработка, интеграция фич
feature - ветки для отдельных задач
Схема именования:
feature/login-screen // новая фича
bugfix/crash-on-launch // исправление бага
experiment/new-architecture // эксперименты
hotfix/critical-payment-bug // срочные исправления
Рабочий процесс:
1. Начинаете задачу → создаёте ветку от develop
2. Работаете в feature-ветке → коммиты, тесты
3. Готово → вливаете в develop
4. Релиз → из develop в main
Для случая Один разработчик:
main // стабильные релизы
develop // текущая разработка
feature/tabs // добавляете табы
experiment/v10 // эксперименты с 10-й версией
В Xcode:
- Всегда работайте в feature-ветках
- Регулярно переключайтесь на develop и подтягивайте изменения
- main трогайте только для релизов
Главное правило:
Никогда не коммитить незавершённый код в main — эта ветка должна всегда собираться и работать.
Допустимые символы в названиях веток Git:
✅ Разрешённые:
Буквы: a-z, A-Z (латиница)
Цифры: 0-9
Дефис: -
Подчёркивание: _
Слэш: / (для группировки)
Точка: .
❌ Запрещённые:
Пробелы — заменяйте дефисом или подчёркиванием
Спецсимволы: ~ ^ : ? * [ \
Два точки подряд: ..
Символы управления и пробелы в начале/конце
Примеры:
✅ Правильно:
feature/user-login
bugfix/crash_on_startup
v2.1.0
feature/auth-screen-redesign
experiment/ios-17-support
❌ Неправильно:
feature/user login // пробел
bugfix/crash*fix // звёздочка
feature/new:design // двоеточие
feature/test..branch // двойная точка
Style Best Practice:
kebab-case: feature/user-login (самый популярный)
snake_case: feature/user_login
Только латиница — избегайте кириллицы для совместимости.
Группировка слэшами
Например: feature/, bugfix/, hotfix/
В этом случае в Xcode создаётся папка с соответствующим именем.
И все последующие ветки, которые начинаются с названия папки, например, feature/image, помещаются в эту папку.
Как это выглядит в навигационной панели:
-----📁feature
----------image
----------sound