Git

Материал из Википедии — свободной энциклопедии

Перейти к: навигация, поиск
Git
Файл:Git-logo.svg
Тип Система управления версиями
Разработчики Линус Торвальдс, Джунио Хамано
Написана на C, Bourne Shell, Perl
ОС Кроссплатформенное программное обеспечение
Версия 1.6.3.2 — 4 июня 2009
Лицензия GNU GPL
Сайт git-scm.com

Git (произн. «гит»[1]) — распределённая система управления версиями файлов. Проект был создан Линусом Торвальдсом для управления разработкой ядра Linux. На сегодняшний день поддерживается Джунио Хамано (англ. Junio C. Hamano).

Примерами проектов, использующих Git, являются Linux kernel, Cairo, GNU Core Utilities, Mesa, Wine и некоторые дистрибутивы GNU/Linux (см. ниже).

Программа является свободной и выпущена под лицензией GNU GPL версии 2.

Содержание

[править] Возможности

Система спроектирована как набор программ, специально разработанных с учётом их использования в скриптах. Это позволяет удобно создавать специализированные системы контроля версий на базе Git или пользовательские интерфейсы. Например, Cogito является именно таким примером фронтенда к репозиториям Git, а StGit использует Git для управления коллекцией патчей.

Git поддерживает быстрое разделение и слияние версий, включает инструменты для визуализации и навигации по нелинейной истории разработки. Как и Darcs, BitKeeper, Mercurial, SVK, Bazaar и Monotone, Git предоставляет каждому разработчику локальную копию всей истории разработки, изменения копируются из одного репозитория в другой.

Удалённый доступ к репозиториям Git обеспечивается git-daemon, SSH- или HTTP-сервером. TCP-сервис git-daemon входит в дистрибутив Git и является наряду с SSH наиболее распространённым и надёжным методом доступа. Метод доступа по HTTP, несмотря на ряд ограничений, очень популярен в контролируемых сетях, потому что позволяет использование существующих конфигураций сетевых фильтров.

[править] Графические интерфейсы

  • gitk — простая, но проверенная и быстрая программа. Написана на Tcl/Tk, распространяется с самим Git.
  • QGit, интерфейс которого написан с использованием Qt, во многом схож с gitk, но несколько отличается набором возможностей. В настоящее время переписывается на Qt4, что упростит его портирование на Microsoft Windows.
  • Giggle — вариант на Gtk+.
  • Git Extensions — вариант на .NET.
  • TortoiseGit — интерфейс, реализованный как расширение для проводника Windows.

[править] Фронтенды для веб

  • gitweb — написан на Perl (Kay Sievers). Большинство приведённых ниже крупных публичных git-репозиториев его и применяет.
  • wit — написан на Python (Christian Meder)
  • gitarella — Ruby (Diego Pettenò)
  • git-php — PHP (Zack Bartel)
  • cgit — написан на C (Lars Hjemli)
  • cogito — фронтенд с командами спроектироваными для пользователей привыкших к CVS и SVN (Petr Baudis) — устарела и с осени 2006 больше не развивается, что делает невозможным её использование с новыми версиями git
  • StGit — написаная на Python система управления коллекцией патчей (Catalin Marinas)

[править] Обмен изменениями с другими системами контроля версий

  • CVS — импорт и экспорт, эмуляция CVS-сервера, в стандартной поставке
  • Subversion — импорт и экспорт (частично), в стандартной поставке
  • .tar.gz, .tar.bz2 (серии версионированых файлов) — импорт и экспорт, в стандартной поставке

[править] Проекты, использующие Git

Git применяется во многих проектах; можно отметить как апстримы, так и дистрибутивы GNU/Linux:

[править] Примечания

[править] См. также

Другие распределённые системы управления версиями:

Сервисы, предоставляющие хостинг для git-репозиториев:

[править] Ссылки

Источник — «http://ru.wikipedia.org/wiki/Git»