4.5 KiB
status, type, tags, created, updated, title
| status | type | tags | created | updated | title | |||
|---|---|---|---|---|---|---|---|---|
| seed | concept |
|
2025-12-17 | 2026-05-07 | Git |
Git
Git — распределённая система контроля версий, разработанная Линусом Торвальдсом в 2005 году.
Git используется для управления историей изменений исходного кода, командной разработки и организации процессов доставки ПО. В DevOps - основы Git относится к базовым инструментам контроля версий.
Зачем нужен Git
- хранит историю изменений проекта;
- позволяет работать с ветками и объединять изменения;
- поддерживает распределённую модель разработки;
- помогает проводить code review и восстановление предыдущих состояний кода;
- интегрируется с платформами вроде Gitlab и CI/CD.
Преимущества
Производительность
Git оптимизирован для локальных операций: большинство действий выполняется без обращения к удалённому серверу. История проекта хранится как набор объектов, связанных с содержимым файлов и метаданными версий.
Безопасность
Git использует хеширование объектов, что помогает контролировать целостность истории изменений. Это защищает проект от незаметной подмены данных в истории.
Гибкость
Git поддерживает разные модели разработки: от простой работы в одной ветке до сложных процессов с релизными, функциональными и hotfix-ветками.
Базовые сущности
- commit — зафиксированное состояние изменений;
- branch — ветка разработки;
- merge — объединение веток;
- diff — сравнение изменений между состояниями проекта.
Практические команды вынесены в заметку Основные команды git.
GitFlow
GitFlow — модель ветвления, где используются основные ветки и временные ветки для разработки функциональности.
Основные ветки:
main— официальная история релизов;release— подготовка готового функционала к выпуску;develop— основная ветка разработки;feature— разработка отдельной функциональности.
Когда в develop накоплен достаточный объём изменений, создаётся release-ветка. После тестирования она сливается в main и обратно в develop.
!Pasted image 20260430152221.png
Недостатки GitFlow:
- не всегда хорошо сочетается с CI/CD;
- избыточен для проектов с частыми релизами;
- может усложнять историю слияний.
Trunk Based Development
Trunk Based Development (TBD) — модель разработки, где основная работа ведётся вокруг одной главной ветки, называемой trunk.
Идея TBD: чаще интегрировать изменения в основную ветку, уменьшать долгоживущие ветки и поддерживать возможность выпуска релиза в любой момент.
!
TBD лучше сочетается с CI/CD-процессами, потому что уменьшает риск крупных конфликтов слияния и ускоряет обратную связь от сборок и тестов.
Связанные заметки
- Основные команды git
- Gitlab
- DevOps - основы