NOTE: This is an old draft post from Thuy (last updated 17 Dec 2012). I’m publishing it because it seems useful and mainly complete. –Brook
What is Git?
Git is a distributed source control version system. It allows multiple people to work on the same code simultaneously by keeping track of changes made to files. It visualizes differences between file versions and merges changes from different authors. It also makes snapshots of file versions, so that you can go back to any version later. Because git is distributed, you store a copy of the code repository and its change history on your own local machine. When you are ready, you can sync your files to a remote repository server, such as BitBucket or GitHub. Syncing to the remote server will share the updated code with all the other users, and they can merge the changes into their own copies if they wish. Whether or not you use a remote repository server, git will always store your entire repository change history on your local machine.