.. _git-resources:

=============
Git resources
=============

Tutorials and summaries
=======================

* `GitHub Help`_ has an excellent series of How-to guides.
* `learn.github`_ has an excellent series of tutorials
* The `Pro Git book`_ is a good in-depth book on Git.
* A `Git cheat sheet`_ is a page giving summaries of common commands.
* The `Git user manual`_
* The `Git tutorial`_
* The `Git community book`_
* `Git ready`_ |emdash| a nice series of tutorials
* `Git casts`_ |emdash| video snippets giving Git How-tos.
* `Git magic`_ |emdash| extended introduction with intermediate detail
* The `Git parable`_ is an easy read explaining the concepts behind Git.
* `Git foundation`_ expands on the `Git parable`_.
* Fernando Perez' Git page |emdash| `Fernando's Git page`_ |emdash| many
  links and tips
* A good but technical page on `Git concepts`_
* `Git SVN crash course`_: Git for those of us who used Subversion_

Advanced Git workflow
=====================

There are many ways of working with Git; here are some posts on the
rules of thumb that other projects have come up with:

* Linus Torvalds on `Git management`_
* Linus Torvalds on `Linux Git workflow`_. Summary; use the Git tools
  to make the history of your edits as clean as possible; merge from
  upstream edits as little as possible in branches where you are doing
  active development.

Manual pages online
===================

You can get these on your own machine with (e.g) ``git help push`` or
(same thing) ``git push --help``, but, for convenience, here are the
online manual pages for some common commands:

* `git add`_
* `git branch`_
* `git checkout`_
* `git clone`_
* `git commit`_
* `git config`_
* `git diff`_
* `git log`_
* `git pull`_
* `git push`_
* `git remote`_
* `git status`_

.. include:: links.inc
