| English | 中文 |
Original post: http://ixirong.com/2014/11/19/the-way-to-learn-git/
Git is a free and open source distributed version control system designed to handle everything from small to very large projects with speed and efficiency.
The Git Wikipedia page covers Git in depth — its history, usage, and a wealth of reference material. One thing to keep in mind: the most effective way to learn is to read the documentation. Going straight to the official docs is the fastest path to mastering Git.
Since Git is a distributed version control system, how does it differ from SVN?
For a thorough discussion of Git vs. SVN on Stack Overflow, see Why is Git better than Subversion?
GitHub compares the two in terms of repository structure, history, and submodule support: What are the differences between SVN and Git?
Pro Git has clear instructions for installing Git on all platforms. If that feels too dense, check out Liao Xuefeng’s Git installation guide for a more approachable walkthrough.
If you already know SVN, jump straight to Git - SVN Crash Course. It maps equivalent SVN commands to their Git counterparts, giving you a quick on-ramp.
For complete beginners who just want to get something done — initialize a repo, commit, push, create a branch, tag a release — without worrying about internals, this step-by-step illustrated tutorial (using Git on Windows) is a great start: A Hands-On Guide to Git
For a comprehensive Chinese tutorial series, see The Clearest Git Tutorial Ever Written!
After working through the above, you should be able to use Git for everyday tasks. Practice is what turns knowledge into skill. When you’re ready to go deeper, the official Chinese e-book has everything you need — or read the latest English V2 edition, available to download as epub or PDF.
One of Git’s best features is how it handles branches — fast and effortless. A single command:
git branch branch-name
creates a new branch in milliseconds. But precisely because it’s so easy, poor branch hygiene can lead to a tangled mess that’s impossible to follow. I recommend reading Ruan Yifeng’s article Git Branching Strategy, which is based on the classic post A successful Git branching model. A Chinese translation is also available on OSChina: Introducing a Successful Git Branching Model.

A solid PDF reference for everyday Git commands: Git Cheat Sheet. There’s also a handy visual summary: Common Git Commands. I’ve compiled both into an XMind mind map, available on Baidu Pan (password: 6x7u) — updated periodically. Preview below:

The most powerful command reference of all is right in your terminal: man git, man git <command>, git --help, or git <command> --help. Everything you could ever need is there.
Pro Git — Written by Scott Chacon, a GitHub employee and Git evangelist. Widely regarded as the definitive Git learning resource, with clear diagrams throughout. The latest edition is available in English as Pro Git (Edition 2).
Git Community Book — A distillation of community knowledge, including in-depth coverage of Git’s object model and internals. Great for understanding how Git works under the hood.
Added 2015-01-22
Added 2015-04-05 — git-flow tooling
concepts through diagrams, making them immediately intuitiveFinally: once you start using Git, get comfortable with the terminal. Curious about a command? Just run git branch --help (or any other command) and let Git explain itself.