GTK+ FAQ
<<< Previous |  | Next >>>

# Development of GTK+

# What's this Git thing that everyone keeps talking about, and how do I access it? [GTK 2.x]

Git is a version control system and it is a very popular means of version control for software projects. It is designed to allow multiple authors to simultanously operate on the same source tree. This source tree is centrally maintained, but each developer has a local mirror of this repository that they make their changes to.

The GTK+ developers use a Git repository to store the master copy of the current development version of GTK+. As such, people wishing to contribute patches to GTK+ should generate them against the Git version. Normal people should use the packaged releases.

The Git toolset is available as a package on most distributions and the released tarballs are available from http://git-scm.com/.

Anyone can download the latest Git version of GTK+ by using anonymous access using the following steps:

- In a bourne shell descendant (e.g. bash) type:

  `git clone git://git.gnome.org/gtk+`

  Note that with the GTK+ 1.1 tree, glib has been moved to a separate Git module, so if you don't have glib installed you will need to get that as well:

  `git clone git://git.gnome.org/glib`

The Git archive stores both the current development version of GTK+ (the Git master branch) and all current and past stable versions. If you want to retrieve a specific version of GTK+ you have to specify the Git tag corresponding to the version you want to checkout. If you want to checkout the current GTK+ 2.2 stable source code, you would need to use the following command:

`git checkout --track -b gtk-2-24 origin/gtk-2-24`

You can switch between branches once set up more easily using:

`git checkout master`

<<< Previous | Home | Next >>>
When installing a GTK+ application, configure reports that it can't find GTK. [GTK 2.x] |  | How can I contribute to GTK+? [GTK 2.x]