← Ко всем open source проектам

Git

git/git

Git — распределенная система контроля версий; этот репозиторий является зеркалом исходного кода на GitHub.

Форки 28,060
Автор git
Язык C
Лицензия NOASSERTION
Обновлено 2026-06-27

Что это такое

Git — распределенная система контроля версий. Она хранит историю изменений, позволяет создавать ветки, сливать работу нескольких людей, откатываться к прошлым состояниям и проверять, кто и зачем менял код.

Репозиторий `git/git` на GitHub является зеркалом исходного кода. Это важно: основная культура разработки Git исторически связана с почтовыми списками и патчами, а GitHub-репозиторий удобен для чтения, CI и навигации.

Как устроена модель

Git хранит содержимое как набор объектов: blob, tree, commit и tag. Ветка указывает на коммит, коммит ссылается на дерево файлов и родителей, а история образует граф.

Эта модель дает Git силу: локальная история полная, операции быстрые, а ветки являются легкими указателями. Разработчик может экспериментировать без постоянной связи с сервером.

Минимальный цикл работы

Пример показывает базовый путь изменения: посмотреть состояние, создать коммит и отправить ветку на сервер.

Язык: Bash
git status
git add app/Modules/OpenSource
git commit -m "Add open source catalog project"
git push origin feature/catalog-project

Что внутри репозитория

Внутри находится исходный код Git на C, документация, тесты, команды высокого уровня и низкоуровневые механизмы. Проект необычен тем, что сам является инструментом, которым пользуются для разработки почти всех остальных проектов в этом каталоге.

Документация Git тоже является важной частью репозитория. Многие команды используют Git каждый день, но реальное понимание приходит только после знакомства с объектной моделью и командами для диагностики.

Сильные стороны

Сильная сторона Git — распределенность. Каждый разработчик имеет полноценную локальную историю, может создавать ветки и сравнивать состояния без центрального сервера.

Вторая сильная сторона — гибкость. Git подходит и для маленьких проектов, и для огромных кодовых баз с тысячами участников, хотя дисциплина работы в них будет разной.

Ограничения

Git мощный, но не всегда простой. Ошибки с rebase, force push, конфликтами и потерянными ссылками могут пугать новичков.

Также Git не заменяет процессы команды. Он хранит историю и помогает слиянию, но не решает за людей, как проводить ревью, выпускать релизы и описывать изменения.