Git

Git is a revision control system that allows you to download and manage different versions of a program's source code.

= Obtaining Git = Install git by means of your distribution as described at installing software. Or download it from http://git-scm.com/download.

= using git =

Example: The Linux kernel
To obtain the linux kernel (+/-150MB) for example, git clone git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux-2.6.git;
 * open a console and type:

A subdirectory will be created for your project to contain the source files. To upgrade your project later 'cd' to this created directory and type: git pull origin;

Editing code
You can change your code using your favorite editor, To see the changes: git diff

To undo changes, type: git checkout -f

You can also create branches to make distinct changes. To list the branches, type: git branch

The 'master' branch is the root of the source. To create a new branch for your own modifications, type: git checkout -b BRANCH_NAME master

To change the current branch to another, type: git checkout BRANCH_NAME

= create a git server = git is technically not a server because it does not listen on a port, but is used over a command invoked via ssh. So, here is how you set up a git repository: tweedleburg:~ # mkdir gittest tweedleburg:~ # cd gittest/ tweedleburg:~/gittest # git init Initialized empty Git repository in /root/gittest/.git/ tweedleburg:~/gittest # echo hello>world tweedleburg:~/gittest # git add world tweedleburg:~/gittest # git commit -am "first commit" [master (root-commit) 4a0c108] first commit 1 files changed, 1 insertions(+), 0 deletions(-) create mode 100644 world Now you can clone your repository into another directory using git clone ssh://root@localhost/root/gittest

= See also =
 * revision control - parent topic

= External links =
 * http://git.or.cz/
 * https://github.com/ - one place where people and projects share their code with git