Git
Материал из Википедии — свободной энциклопедии
| Git | |
| Тип | Система управления версиями |
| Разработчики | Линус Торвальдс, Джунио Хамано |
| Написана на | 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:
- Linux [1]
- freedesktop.org (там же и X.org)
- Wine [2]
- Debian [3]
- ALT Linux [4] (Hasher и Gear)
- Ruby on Rails [5]
- MooTools [6]
- Ubuntu [7]
- Perl [8]
- GNOME [9]
- VLC [10]
[править] Примечания
[править] См. также
Другие распределённые системы управления версиями:
Сервисы, предоставляющие хостинг для git-репозиториев:
[править] Ссылки
- Домашняя страница Git(англ.)
- Руководство пользователя GIT
- Git User’s Manual (англ.) (также распространяется вместе с исходным текстом программы:
Documentation/user-manual.txt) - Страница Git на kernel.org(англ.)
- Everyday Git(англ.) («Git на каждый день») — набор из примерно 20 команд (на самом деле их будет около 5-6), которые пригодятся в повседневном использовании системы.
- Linus Torvalds on Git(англ.) — рассказ Линуса Торвальдса о git и других системах контроля версий (YouTube)
- Randal Schwartz on Git(англ.) — рассказ Рэндела Шварца о git (YouTube)
- Contributing with Git(англ.) — Google Talks 27.10.2008 (YouTube)
- GitCasts.com(англ.) — сайт, посвящённый скринкастам по использованию git.

