Термин · Глоссарий B2B-ПО

Git (Git)

Git – распределённая система контроля версий, созданная Линусом Торвальдсом в 2005 году. Позволяет отслеживать изменения в исходном коде, работать в ветках, сливать изменения и откатываться к предыдущим состояниям. Де-факто стандарт для совместной разработки ПО.

Буква «G» В категориях: 3 Платформ: 6+

Введение

Git – распределённая система контроля версий (Distributed Version Control System, DVCS), разработанная Линусом Торвальдсом в 2005 году для управления исходным кодом ядра Linux. Сегодня Git является де-факто индустриальным стандартом для управления версиями кода практически во всех командах разработки – от стартапов до крупных корпораций.

В отличие от централизованных систем (CVS, SVN), Git хранит полную копию репозитория на каждой рабочей машине. Это обеспечивает работу офлайн, высокую скорость операций и отказоустойчивость.

История и контекст

До 2005 года разработка ядра Linux велась с использованием проприетарной системы BitKeeper. После конфликта с её разработчиками Торвальдс за несколько недель написал Git с нуля, заложив несколько ключевых принципов: скорость, простота модели данных, поддержка нелинейной разработки (тысячи параллельных веток) и полная распределённость.

К 2010-м годам Git вытеснил большинство альтернатив. Платформы GitHub (2008), Bitbucket (2008) и GitLab (2011) превратили Git в основу экосистемы open-source и корпоративной разработки. В России активно используются GitLab (в том числе self-hosted) и Gitea как импортозамещающие решения.

Как это работает

Модель данных Git построена на трёх объектах:

  • Blob – содержимое файла;
  • Tree – снимок директории;
  • Commit – снимок состояния репозитория с метаданными (автор, время, сообщение, ссылка на родительский коммит).

Каждый объект адресуется SHA-1-хешем своего содержимого – это гарантирует целостность истории. Ветка (branch) – это просто указатель на коммит. Слияние (merge) и перебазирование (rebase) позволяют объединять параллельные линии разработки.

Типичный рабочий процесс (Git Flow, GitHub Flow, Trunk-Based Development) предполагает создание feature-веток, код-ревью через pull/merge request и слияние в основную ветку после прохождения CI-проверок.

Ключевые команды

  • git clone – клонирование репозитория;
  • git commit – фиксация изменений;
  • git push / pull – синхронизация с удалённым репозиторием;
  • git merge / rebase – интеграция веток;
  • git stash – временное откладывание незафиксированных изменений.

Где применяется

  • Разработка программного обеспечения – хранение и версионирование исходного кода;
  • Infrastructure as Code – версионирование конфигураций Terraform, Ansible, Kubernetes-манифестов;
  • CI/CD пайплайны – триггер для автоматической сборки, тестирования и деплоя;
  • Data Science и MLOps – версионирование ноутбуков, конфигураций моделей;
  • Документация – версионирование технических текстов, spec-файлов OpenAPI.

Преимущества и ограничения

Преимущества: полная история изменений, работа офлайн, поддержка нелинейной разработки, скорость локальных операций, огромная экосистема интеграций.

Ограничения: Git плохо подходит для хранения больших бинарных файлов (для этого есть Git LFS). Работа с моно-репозиториями больших размеров требует специальных инструментов (Scalar, Sparse Checkout). Порог входа для новичков выше, чем у централизованных VCS.

Связь с другими понятиями

Git является фундаментом для GitOps – подхода к управлению инфраструктурой через git-репозитории. Платформы CI/CD (GitLab CI, Jenkins) строятся на основе git-событий: push, merge request, tag. Практики Code Review реализуются через механизм pull/merge request. DevOps как культура невозможен без надёжной VCS в основе. Tekhdolg нередко появляется из-за нарушения git-конвенций и накопления непроверенного кода.

Понятия из глоссария Цифрового маркетплейса, которые часто встречаются вместе с термином «Git».

Платформы класса «Git»

Решения из каталога Цифрового маркетплейса, относящиеся к этому классу ПО. Карточки ведут на полные карточки платформ с тарифами, обзорами и кейсами внедрения.

GI

GitFlic

ИТ-инфраструктура
GitFlic от компании ООО «РеСолют» (Группа Астра) — российский программный продукт из реестра отечественного ПО...
Цена по запросу
★ 4.8
Подробнее →
DC

Deckhouse Code

Разработка ПО
Deckhouse Code Enterprise EditionDeckhouse Code EEDC EEDeckhouse Code Standard EditionDeckhouse Code SEDC SE
Цена по запросу
Подробнее →
Онколинк

Онколинк

Разработка ПО
Платформа для управления онкологическими пациентами и координации медицинского обслуживания. Входит в Единый р...
Цена по запросу
Подробнее →

Категории каталога

Разделы каталога Цифрового маркетплейса, в которые входят решения, использующие «Git».

Где применяется

Отрасли, в которых «Git» используется на практике. Откройте отраслевой раздел Цифрового маркетплейса, чтобы увидеть подходящие решения, кейсы и новости.

Частые вопросы про Git

Чем Git отличается от SVN?

Git – распределённая система: каждый разработчик имеет полную копию репозитория. SVN – централизованная: история хранится только на сервере. Git работает офлайн, быстрее и поддерживает нелинейную разработку.

Что такое git rebase и когда его использовать?

Rebase переносит коммиты ветки поверх другой базы, создавая линейную историю. Используется для очистки истории перед слиянием. Не рекомендуется на публичных ветках.

Как работает git merge vs git rebase?

Merge создаёт коммит слияния, сохраняя полную историю. Rebase переписывает историю, делая её линейной. Оба подхода интегрируют изменения из одной ветки в другую.

Что такое Git Flow?

Git Flow – модель ветвления с ролями веток: main, develop, feature, release, hotfix. Подходит для проектов с явными релизными циклами. Альтернативы – GitHub Flow и Trunk-Based Development.

Как Git используется в CI/CD?

Push или merge в определённую ветку автоматически запускает пайплайн: сборку, тесты, статический анализ и деплой. Большинство CI-платформ (GitLab CI, Jenkins, ArgoCD) работают через git-хуки и webhook.

Что такое Git LFS?

Git Large File Storage – расширение для хранения больших бинарных файлов (видео, модели, датасеты) вне основного репозитория. В git хранится лишь указатель на файл.