4.3 KiB
status, type, tags, created, updated, title
| status | type | tags | created | updated | title |
|---|---|---|---|---|---|
| seed | concept | 2025-12-17 | 2026-04-30 | Git |
Git
Знакомство с Git
Git — система управления версиями с распределенной архитектурой, разработанная Линусом Торвальдсом в 2005 году.
Среди всех доступных систем управления версиями (Git, Mercurial, CVS, SVN), Git является абсолютным лидером и признанным стандартом.
Неоспоримыми преимуществами Git являются:
- Высокая производительность.
- Безопасность.
- Гибкость в распределенных системах.
- Прекрасные возможности для командной работы.
Производительность
Высокая производительность Git обусловлена подходом по оптимизации внутренних процедур и использованию анализа содержимого файлов Git работает с файлами, храня объекты с содержимым каталога и метаданными их версий.
Безопасность
Безопасность при работе с Git обеспечивается целостностью исходного кода и применением алгоритма шифрования SHA1. Использование Git гарантирует подлинность истории изменений и защищает исходный код от тайного внесения изменений.
Гибкость
Гибкость при работе с Git достигается за счет поддержки линейных и нелинейных циклов разработки, совместимости со множеством других информационных систем и популярных протоколов.
Возможности для командной работы
Git обладает впечатляющими возможностями для командной работы за счет поддержки множества разнообразных моделей управления исходным кодом, удовлетворяющих нужды больших и маленьких команд, простых и сложных распределенных проектов.
Модели управления исходным кодом
Работа с версиями исх. кода в git построена на основе использования:
- коммитов (commit)
- веток (branches)
- слияния веток (merge)
- сравнивания версий (diff)
На основе этих сущностей строятся разнообразные модели управления исходным кодом.
Большой популярностью пользуется модель под названием gitflow.
gitflow - модель ветвления в git, в которой используются основные ветки (main, release, develop) и функциональные (features, fix).
- main - официальная история релизов;
- release - концентрация готового к выпуску в прод функционала;
- develop - ветка для разработки функционала;
- feature - работа над любым новым функционалом ведется командой в этой ветке, после завершения разработки, ветка сливается с develop-ветки.
Когда в Develop-ветке оказывается достаточно функционала для выпуска нового релиза, на основе Develop-ветки создается ветка Release.
После прохождения всех тестов и проверок, Release-ветка сливается с остальными основными ветками — Main и Develop.
!