Git is a Version Control System Have you struggled with combining changes across a team of writers e-mailing edited documents back and forth? Or created dozens of "old", "old2". Yea, then git will make your life better. If you are course 6, You probably want to read [Git for Computer Scientists](http://eagain.net/articles/git-for-computer-scientists/) which will teach you the abstract object model. Nelhage also gives a cluedump in the fall about the object model and you might want to read [his slides](http://web.mit.edu/nelhage/Public/git-slides-2009.pdf) But this will not really teach you the commands you need to know for everyday use. You should walk through [The git tutorial](http://www.kernel.org/pub/software/scm/git/docs/gittutorial.html) for this. But the real way to learn git is to use it for a project. At the very least you can just `git init` in the directory of any project you start, `git add` new and changed files, and `git commit -m "some description of your changes"`. And pick up collaboration, branching, history editing, and cherry picking when you need them. There is also the route taken by ezyang and gdb: coming up with some crazy project to do something _using_ git as a tool. Dump of other resources about git: ---------------------------------- - [http://sipb.mit.edu/iap/git/](http://sipb.mit.edu/iap/git/) - [http://progit.org/book/](http://progit.org/book/) - [http://git.or.cz/man/everyday](http://git.or.cz/man/everyday) - [http://www.git-scm.com/](http://www.git-scm.com/) - [What is this thing called source control?](http://www.slideshare.net/secret/wBsLzZb3O7cXCU) - [http://marklodato.github.com/visualit-guide/](http://marklodato.github.com/visualit-guide/) - [http://www.spheredev.org/wiki/Git_for_the_lazy](http://www.spheredev.org/wiki/Git_for_the_lazy) - [http://www.kernel.org/pub/software/scm/git/docs/gittutorial.html](http://www.kernel.org/pub/software/scm/git/docs/gittutorial.html) - [http://cluedumps.mit.edu/wiki/2009/09-29](http://cluedumps.mit.edu/wiki/2009/09-29) - [http://eagain.net/articles/git-for-computer-scientists/](http://eagain.net/articles/git-for-computer-scientists/) - [http://blog.nelhage.com/archives/74](http://blog.nelhage.com/archives/74) - [https://blog.udemy.com/git-tutorial-a-comprehensive-guide/](https://blog.udemy.com/git-tutorial-a-comprehensive-guide/)