Git — это распределенная система контроля версий (DVCS), созданная Линусом Торвальдсом в 2005 году для разработки ядра Linux. Рассмотрим его архитектуру и принципы работы.
# Клонирование создает полную локальную копию
git clone https://github.com/user/repo.git
Git хранит данные как набор объектов:
Тип объекта | Назначение |
---|---|
Blob | Содержимое файлов |
Tree | Структура директорий |
Commit | Снимок состояния с метаданными |
Tag | Метка для конкретного коммита |
Каждый объект идентифицируется SHA-1 хэшем:
# Пример хэша коммита
commit 3f2a6f5c45a2d7b81e4f2a6c5d8e9f0a1b2c3d4e
git add . # Добавить изменения
git commit -m "msg" # Зафиксировать
git push # Отправить на сервер
git branch feature # Создать ветку
git checkout feature # Переключиться
# Или одной командой:
git checkout -b feature
git rebase -i HEAD```3
При коммите Git:
# Просмотр внутренних объектов
git cat-file -p HEAD
git ls-tree HEAD
git tag -a v1.2.0 -m "Release with fixed login"
git push origin v1.2.0
#!/bin/sh
# pre-commit hook
npm test
Git — это мощная распределенная система контроля версий, использующая объектную модель и хэширование для эффективного управления изменениями. Его архитектура обеспечивает гибкость, производительность и надежность, что делает его стандартом в современной разработке ПО.