There's a lot to Git. A lot. Here's a list of articles, tips, tricks, and tools for Git. I did my best to organize it in order of increasing complexity.

Tools

omglog

This is a Ruby gem to visualize the current state of your Git repository.

To install on your computer, open Terminal and run

$ gem install omglog

You may need to run that command as sudo, which will prompt you for your password

$ sudo gem install omglog

To use omglog, change directory in Terminal (cd) to the Git repository and do

$ omglog

The program will hijack your Terminal window, to quit omglog hit use the key combination CTRL+C.

omglog on Github

Generate SSH keys

If you're tired of typing in your Github username and password every time you push, follow this guide. You will have to remove and re-add your origin remote with the ssh protocol instead of https. If you don't understand that last sentence, read the "More on Remotes" link below.

My Gitconfig file

Git looks for a file in your home directory (~) called .gitconfig. You can commands and color options to this file. To add my .gitconfig to yours, do the following. _All text after the pound sign (#) is a comment, you don't need to type this.

$ touch ~/.gitconfig    # Ensures that you have a file named .gitconfig
$ open ~/.gitconfig     # Should open the .gitconfig file in your text editor

Now past the contents of my .gitconfig into the file and save and close. If you read the Alias section these are shortcuts to commands. Test them all out with $ git NAME_OF_ALIAS. Specifically check out $ git l which is a simpler view of what omglog gives you. To quit out of $ git l type "q".

Tab completion for Git

This is awesome. Save the contents of this file to ~/.git-completion.bash and then do the following: $ echo ". ~/.git-completion.bash" >> ~/.bash_profile.

Articles, Tutorials

Github's Help Pages

Look at this first. Github has an amazing help section. Scroll down or do a 'find in page' for what you're having trouble with.

Github's Training Videos

I haven't watched these yet, but it looks like a great resource—especially for anyone trying to get to the more advanced features of Git.

Git Immersion

A step by step tutorial website that assumes knowledge of Terminal. Nicely designed and very detailed.

More on Remotes

More info on pushing, pulling, adding and removing remotes.

Reset Demystified

This article is awesome, not only will you have a better understanding of git-reset but also of how Git works in general.

Rebasing

When you start working with other people and many branches, this will come in handy.

Git Magic

This looks great, and it's from Stanford's Computer Science department. My plan for the weekend is to read it, this should also be your plan for the weekend.

Forking, and getting Upstream Changes

How to get changes from the original repostiory you forked from.

My Pinboard links tagged 'Git'

All the web pages I've bookmarked about Git.