I use Ubuntu Linux, so all of my info comes from that perspective. That said, most of it translates pretty simply, and much (most?) of this information is platform independent.
- Learn Enough Command Line to Be Dangerous - Introduction to the Unix command line.
- Mac to Windows Command Line Mappings
- reusable materials for bash/git/python bootcamps
- The entire Pro Git book -written by Scott Chacon and Ben Straub
- Learn Enough Git to Be Dangerous
- Atlassian -Getting Git Right
- guides.github.com - Git Handbook
- Introduction to Git - 186-minute Development Tools Course
- Create a Test Branch and Merge Back the Changes »
- Git-Tools-Submodules - so you can pull other git repos into your project
- Connecting to GitHub with SSH
- Generating a new SSH key and adding it to the SSH agent
- Adding a new SSH key to your GitHub Account
- How to manage multiple GitHub accounts on a single machine with SSH keys
BASH - Shell Scripting
- Bash Guide for Beginners
This is a practical guide which, while not always being too serious, tries to give real-life instead of theoretical examples. I partly wrote it because I don’t get excited with stripped down and over-simplified examples written by people who know what they are talking about, showing some really cool Bash feature so much out of its context that you cannot ever use it in practical circumstances. You can read that sort of stuff after finishing this book, which contains exercises and examples that will help you survive in the real world.