Git (произносится «гит») — распределённая система управления версиями. Проект был создан Линусом Торвальдсом для управления разработкой ядра Linux, первая версия выпущена 7 апреля 2005 года. На сегодняшний день его поддерживает Джунио Хамано.
Среди проектов, использующих Git — ядро Linux, Swift, Android, Drupal, Cairo, GNU Core Utilities, Mesa, Wine, Chromium, Compiz Fusion, FlightGear, jQuery, PHP, NASM, MediaWiki, DokuWiki, Qt, ряд дистрибутивов Linux.
Программа является свободной и выпущена под лицензией GNU GPL версии 2. По умолчанию используется TCP порт 9418. (Википедия)
Как и многие вещи в жизни, Git начинался с капелькой творческого хаоса и бурных споров.
История создания
Ядро Linux — это достаточно большой проект с открытым исходным кодом. Большую часть времени разработки ядра Linux (1991–2002 гг.) изменения передавались между разработчиками в виде патчей и архивов. В 2002 году проект ядра Linux начал использовать проприетарную децентрализованную СКВ BitKeeper.
В 2005 году отношения между сообществом разработчиков ядра Linux и коммерческой компанией, которая разрабатывала BitKeeper, прекратились, и бесплатное использование утилиты стало невозможным. Это сподвигло сообщество разработчиков ядра Linux (а в частности Линуса Торвальдса — создателя Linux) разработать свою собственную утилиту, учитывая уроки, полученные при работе с BitKeeper. Некоторыми целями, которые преследовала новая система, были:
- Скорость
- Простая архитектура
- Хорошая поддержка нелинейной разработки (тысячи параллельных веток)
- Полная децентрализация
- Возможность эффективного управления большими проектами, такими как ядро Linux (скорость работы и разумное использование дискового пространства)
С момента своего появления в 2005 году, Git развился в простую в использовании систему, сохранив при этом свои изначальные качества. Он удивительно быстр, эффективен в работе с большими проектами и имеет великолепную систему веток для нелинейной разработки
Первую версию Git представили 7 апреля 2005 года. Базовый релиз собрали за пять дней, а 16 июня 2005 года разработку Linux полностью перевели на Git. Самый свежий релиз на сегодняшний день – 2.26.0, который вышел 22 марта 2020 года.
Команду поддержки Git сегодня возглавляет Джунио Хамано. Собственно, Торвальдс снял с себя обязанности ведущего разработчика проекта 25 июля 2005 года, меньше чем через три месяца после первого релиза Git.
Git используют лидеры ИТ-рынка. Систему контроля версий по-прежнему используют для разработки ядра Linux и ряда дистрибутивов этой ОС, а также Android, Swift, Drupal, Chromium, jQuery, PHP, MediaWiki, Qt и др.
Доля Git среди других систем контроля версий постоянно растет:
- в 2010 году на Git работало 11,3% репозиториев против 60,8% у SVN (Subversion);
- в 2017-м доли сравнялись;
- на текущий момент на Git построено 71% всех репозиториев кода, и он продолжает захватывать позиции.
Интересный факт: git в переводе с английского означает «мерзавец». Торвальдс саркастически признался что считает себя тем еще эгоистом, поэтому называет проекты в свою честь: сначала Linux, потом Git.
Преимущества и недостатки
Главное преимущество Git – в том, что он очень быстрый и прозрачный. Он удобен для нелинейной разработки и эффективен как для небольших проектов, так и для огромных систем с тысячами участников.
В отличие от Perforce, CVS и других, Git хранит снимки репозиториев, а не списки изменений в файлах, и за счет этого работает гораздо быстрее. К тому же Git – распределенная система. Если сервер с удаленным репозиторием выйдет из строя, вы можете восстановить код из локальной копии. Если ваша локальная копия пострадает, сможете загрузить код с сервера за несколько минут.
Недостатком «чистого» Git считают отсутствие средств проверки подлинности и аутентификации пользователей. Фактически каждый пользователь, который получает копию репозитория, может делать с ней все, что угодно.