Git is a distributed revision control / software configuration management project created by Linus Torvalds, initially for the Linux kernel development.
Git is by far my favourite revision control system. I not only use it for software management, I also use it as my backup system for any of my text files.
- Quick help:
$ git help # returns most common commands $ git help -a # get a list of all installed git commands $ man git-add # man page on the 'add' command
- Start a new git repository:
$ mkdir my_new_project && cd my_new_project $ git init # create some new files, then: $ git add . $ git commit #~OR~ $ git commit -am 'initial commit message'
- See what has changed since last commit:
$ git diff
- A more concise way to view what has changed and what needs to be done:
$ git status
- The following three commands will import a remote svn repository into a local git repository:
$ mkdir pymmlib && cd pymmlib $ git svn init -t tags -b branches -T trunk https://pymmlib.svn.sourceforge.net/svnroot/pymmlib $ git svn fetch
- Smug — a wiki built with git as the backend (also using Python and Djanjo)
- gitshelve — using git as a versioned data store in Python
- gibak — a backup tool based on git.
- Official website
- Git User's Manual, also distributed with Git in Documentation/user-manual.txt
- Git in six hundred words
- Git from the inside out
- git for the confused — extremely in-depth manual/tutorial
- Kernel.org git repositories
- Kernel Hackers' Guide to git
- Git and WhatIsGit at LinuxMIPS wiki
- "The Thing About Git"
- "A Git Horror Story: Repository Integrity With Signed Commits", by Mike Gerwitz