Redirected from page "Development/GIT"

Clear message
  • Immutable Page
  • Info
  • Attachments

Git is a distributed version control system, or an SCM. We use Git to manage the Compiz Fusion code.

How to get Git access

It is fairly easy to get Git access. After a little bit of involvement on the forum and some code to show for, you should contact the team either on IRC or the development list.

The only reason we want to see some code before we hand out commit access is to avoid a lot of inactive ghost users. It is not a test of your work.

The easiest way to go about this is to create an SSH key (ssh-keygen) and upload it (the public one) somewhere, or mail it to the development list. Guillaume is the one who takes care of our server, so poking him helps.

That's pretty much all you need. You will only get access to your own user repo to begin with, so you will not be able to modify other work than your own unless you ask and have valid reasons. Getting this access is not difficult, it will be given to you when you've contributed to the parts you want access to a few times.

How to use Git

You should probably read a full guide on Git (google), the basic idea is:

  • pull
  • checkout
  • test
  • commit
  • push

You can do all of this without specific access, except the push part.

Using user repositories

Let's say your login is guillaume, and you want to create a repo named compiz-with-pink-elephants.

First, create the repo:

ssh mkgitrepo compiz-with-pink-elephants

This will create a git repo with a single "dummy" file. You can clone the repo and start working from there.

Alternatively, you can create a fully empty repo

ssh mkemptygitrepo compiz-with-pink-elephants

In that case, you can then push your local repo to there

git push git+ssh:// master

You can then set the repo description:

ssh setrepodesc compiz-with-pink-elephants "Pink elephants for the win"

And clone it:

git clone git+ssh://

If your user name on is different from on your local machine, don't forget to add it before the host part of the uri:

git clone git+ssh:// 

And here's the web interface: or (newly created repos will appear there around 5 minutes later).

Development/Git (last edited 2010-07-29 04:57:31 by pool-71-182-245-130)