Git / Perforce
Git
Использую Git как основную систему контроля версий.
- стандартный workflow (
clone,branch,commit,push,pull,fetch); - feature-ветки;
rebase-based flow;- разрешение merge/rebase-конфликтов;
- Git hooks;
- тегирование релизов и versioning через Git tags;
- использование
Gitкак частиCI/CD-процесса.
Коммиты и соглашения
Что использовал на практике:
- соглашения в стиле
Conventional Commits; - разделение коммитов по типу изменения (
feat,fix,refactor,docs,ci,choreи т.д.); - выделение breaking changes.
Git Hooks и локальная автоматизация
pre-commitдля автоформатирования и линтинга;pre-pushдля проверок перед отправкой изменений;- выборочная обработка только изменённых/staged файлов;
- возможность осознанно отключать или обходить хуки в исключительных случаях.
Git и CI/CD
Использовал Git как триггер и основу release-flow.
- запуск pipeline после
pushв целевые ветки; - использование branch-based flow для production;
- связь веток, commit history и deploy-процесса;
- работа с immutable reference через commit SHA;
- использование Git tags для фиксации версий.
Perforce
Также был опыт работы с Perforce.
- подключение к существующим depot/workspace;
- получение и отправка изменений;
- синхронизация рабочей копии;
- базовыми changelist-сценариями;
- повседневной работой в уже настроенном командном процессе.