Files
2026-05-31 10:18:48 +03:00

4.5 KiB

status, type, tags, created, updated, aliases
status type tags created updated aliases
seed concept
devops
git
vcs
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: чаще интегрировать изменения в основную ветку, уменьшать долгоживущие ветки и поддерживать возможность выпуска релиза в любой момент.

!Pasted image 20260430153712.png

TBD лучше сочетается с CI/CD-процессами, потому что уменьшает риск крупных конфликтов слияния и ускоряет обратную связь от сборок и тестов.

Связанные заметки

  • Основные команды git
  • Gitlab
  • DevOps - основы