Git (произн. «гит») — распределённая система управления версиями файлов. Проект был создан Линусом Торвальдсом для управления разработкой ядра Linux. Система спроектирована как набор программ, специально разработанных с учётом их использования в скриптах. Это позволяет удобно создавать специализированные системы контроля версий на базе Git или пользовательские интерфейсы. Например, Cogito является именно таким примером фронтенда к репозиториям Git, а StGit использует Git для управления коллекцией патчей.
Git поддерживает быстрое разделение и слияние версий, включает инструменты для визуализации и навигации по нелинейной истории разработки. Как и Darcs, BitKeeper, Mercurial, Bazaar и Monotone, Git предоставляет каждому разработчику локальную копию всей истории разработки, изменения копируются из одного репозитория в другой. Удалённый доступ к репозиториям Git обеспечивается git-daemon, SSH- или HTTP-сервером. TCP-сервис git-daemon входит в дистрибутив Git и является наряду с SSH наиболее распространённым и надёжным методом доступа. Метод доступа по HTTP, несмотря на ряд ограничений, очень популярен в контролируемых сетях, потому что позволяет использование существующих конфигураций сетевых фильтров.
Для Git имеется ряд графических интерфейсов:
git-gui - одна из двух официально-поставляемых вместе с Git графических утилит, созданных с использованием Tcl/Tk. Позволяет управлять коммитами, ветками и удалёнными репозиториями.
gitk - вторая часть официального графического инструментария Git. Позволяет подробно просматривать историю репозитория, включая графическую визуализацию ветвления.
Giggle функционально схож с gitk, имея при этом более симпатичный GUI. Позволяет просматривать историю изменения каждого файла, графически визуализирует ветвление.
Git Cola предлагает функциональность схожую с git-gui.
gitg предоставляет возможность как просмотра истории репозитория, так и управления коммитами. Просмотр истории реализован похожим на gitk и giggle образом. Дополнительно предлагает графическое представление количества сделанных изменений. Управление коммитами похоже на то, как это реализовано в git-gui, за исключением некоторых функций.
QGit предлагает функциональность gitk, используя интерфейс построенный на базе QT.
Сайт разработчика:
Что почитать?
Разместил:
Много разговоров об этой системе. Жаль, что нет возможности создавать закрытые проекты, чтобы код не было видно.
>Жаль, что нет возможности создавать закрытые проекты, чтобы код не было видно.
А в чем, собственно, проблема? Поднимаешь свой сервер (gitosis, gitloite, gerrit и иже с ними) и настраиваешь права доступа - все, чужие не увидят.