Git & GitHub

Git & GitHub

This page contains a number of resources that can be useful for contributors new to git and GitHub.

Git

Git is a distributed revision control system with an emphasis on speed. Git was initially designed
and developed by Linus Torvalds for Linux kernel development. Every Git working directory is a
full-fledged repository with complete history and full revision tracking capabilities, not
dependent on network access or a central server. Git’s current software maintenance is overseen
by Junio Hamano. Git is free software distributed under the terms of the GNU General Public License
version 2.

The web is full of good tutorials to get started with Git. If you don’t know where to start, we suggest
you to begin by reading the first three chapters of Git Pro book, which introduces all
concepts needed to get started with git.

Don’t get discouraged by git, at the beginning it may be bit painful to get your head around it,
as its philosophy is a lot different from other tools you may got yourself acquainted with
(read CVS or SVN). You may feel lost, but don’t give up. Your effort will be soon recompensed,
and once you understand the philosophy and are comfortable with the basic commands, you will likely
start to appreciate its simplicity (and at that point, you may even discover that you will never
want to go back to something different ;)).

I also encourage you to learn the command line commands. Knowing the commands will help you
understand how git works, and will allow you to take full advantage of git. That can really bring
your productivity to the next level!

Graphical git client exist, and they can be handy for checking the logs and do many other read-only
operations. Here is a incomplete list of Git client that you may want to check.

SourceTree: Very nice and it offers quite a few features.
Unfortunately, it is available only for Mac OSX.

GitX: Another nice and simple git client. Unfortunately, it is
available only for Mac OSX.

GitHub:Mac: It’s the GitHub git client, so it’s nicely integrated with
GitHub, but you won’t be able to use with a git repository that is not hosted on git.

SmartGit: Available for Windows, Mac OSX and Linux,
it is a good option. Only problem: it’s not free :(

GitHub

GitHub is a web-based hosting service for software development projects that use the Git
revision control system. GitHub offers both commercial plans and free accounts for open source
projects. According to the Git User’s Survey in 2009, GitHub is the most popular Git hosting
site.

—Wikipedia

GitHub is really awesome and it’s one of the best thing that happened in the Open Source Software
ecosystem. The social coding experience, the slick UI, the gigantic number of features that any
project can use for free (code review, issue tracking, forking, ...). If you are not on GitHub, you
are really missing out on something amazing.