Git - the fast version control system

Interface Tools

Git is a true UNIX tool in the sense that it consists of many commands that do one thing well. It has been designed from the start to be easily wrapped in other tools and frontends. Currently, there are several interfaces offering more comfortable Git usage, and also graphical interfaces for browsing the history and more.

Traditionally, the low-level part of Git is called plumbing and the interfaces and frontends are called porcelains. Git itself comes with a default porcelain bundled and that is actually what you will normally mean when you say you use Git. However, there are several alternative porcelains which might offer considerably more user friendly interface or extend Git to perform some specialized tasks.

Below, the most widely used tools are listed. Please refer to the corresponding wiki page for a full list.

Graphical User Interfaces

Git Extensions (Windows)
Git Extensions is a small toolset to make working with Git under Windows a little more intuitive. The shell extension will intergrate in Windows Explorer and presents a nice context menu on files.
TortoiseGit (Windows)
TortoiseGit is a port of the popular TortoiseSVN project to Git. TortoiseGit is very complete, able to commit, show the history log, diff two versions, create branches and tags, create patches and more.
GitX (Mac OS X)
GitX is a git GUI specifically for Mac OS X. It currently features a history viewer much like gitk and a commit GUI like git gui. But then in silky smooth OS X style!
qgit (Qt)
qgit is a Qt GUI for browsing history of Git repositories, similar to gitk but with more features.
Tig
tig is a text-mode interface for Git. It acts as a repository browser that can also act as a pager for various Git commands and manage your index (on diff chunk level).

Version Control Interface layers

StGIT
Stacked Git provides a Quilt-like patch management functionality in the Git environment. You can easily manage your patches in the scope of Git until they get merged upstream.
Guilt
Guilt is another patch management tool, closer to the spirit of Quilt than StGIT.
TopGit
TopGit aims to make handling of large amount of interdependent topic branches easier. TopGit achieves that by keeping a separate topic branch for each patch and providing few tools to maintain the branches.

Git Hosting

Several Git hosting sites are available and open for anyone to host their projects publicly or privately, serving personal open source projects up to large professional endeavors:

Public Only Hosting

repo.or.cz
repo.or.cz is the oldest hosting site, accomodating many hundreds of projects, with open-sourced infrastructure and aimed at open source software. It provides full push features as well as simple mirroring mode and gitweb interface with various enhancements.
Gitorious
Gitorious is another free hosting site with a custom web interface, supporting multiple repositories per project, local installations and with open source code.

Public and Private Hosting

GitHub
GitHub is the largest hosting site with over 1,000,000 public repositories and provides both free hosting for public projects and paid options for private projects. It uses a custom web interface including git-backed wiki hosting, git-backed static site hosting and ticketing. GitHub puts emphasis on social networking of project developers.
CodaSet
Codaset is a really useful project management system for software developers. Built around Git and the social web, it hosts free, private and semi-private projects, and provides each of your projects with web based Git source control, issue/ticket management, a wiki, blog, and an advanced permissions system, amongst others.

Private Only Hosting

Unfuddle
Unfuddle is a secure, hosted project management solution for software development teams. Offers secure code repositories, ticketing systems and project management tools.
codebase
codebase offers source control, issue/ticket management & deployment tracking.

more sites



hosting donated by: github logo