Статьи

Git лаконично: введение

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

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

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

Рисунок 1: Распределенная разработка программного обеспечения
Распределенная разработка программного обеспечения

Наличие полного репозитория на локальном компьютере имеет далеко идущие последствия для цикла разработки …

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

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

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

Полная история для каждого разработчика также означает расходящуюся историю для каждого разработчика. Как только вы делаете один локальный коммит, вы не синхронизированы со всеми остальными в проекте. Чтобы справиться с этим огромным количеством ветвлений, Git стал очень хорошим в объединении различных линий развития.

Этот урок представляет собой главу от Git Succinctly , бесплатной электронной книги от команды Syncfusion .