7. Installing Git (for Windows)
Go to the downloads section of the msysgit site and download the latest full installer. At the time of writing, Git-1.7.11-preview20120710 was the latest version.
Choose the default options ...
... until you reach Select Components.
Under Context menu entries, select Git Bash Here and Git GUI Here. We won't be using Git GUI in this tutorial, but you might as well install it just in case you decide you prefer it over Bash and TortoiseGit after a bit of mucking around. :)
You may keep In the Quick Launch and On the Desktop selected if you want. I've unchecked mine 'cause I do not need those additional icons. Nor will you need to use them in this tutorial.
I've also kept the Use a TrueType font in all console windows (not only for Git Bash) unchecked, which is not shown in the above screenshot, by default.
Here's the CLI, Bash, we were talking about! Let's choose the safest option for Windows, which is selected by default.
Choose OpenSSH, which is selected by default. TortoisePlink has some problems in terms of performance  at Bitbucket, and GitHub only supports OpenSSH .
Choose Checkout Windows-style, commit Unix-style line endings, which is selected by default. You can later reconfigure how line endings are treated by Git (for each existing repo or future ones).
And you're done!
8. What the heck did Git mean by line endings?
Remember how you would have to use
\n in a Java String in order to get a newline? Those are line endings.
Unix and Mac OS X and later use LF (line feed) which means for every newline in a file, it adds a hidden
\n. Mac OS 9 and earlier use CR (carriage return), which means it uses
\r. Windows 7 and earlier use CRLF (carriage return line feed), which means it uses
\r\n . However, it looks like Windows is catching up with the others in regard to line endings: the developer/pre-beta version of Windows 8 uses LF .
Trivia: 'CR is ASCII code 13, LF is ASCII code 10. Thus, CRLF is two bytes, while LF is one' . When it comes to creating websites this extra byte can stack up (try to count how many newlines you do for code readability), to the point where the webpage loads noticably slower--especially during the times of when human beings first heard dubstep.
So, our current configuration of dealing with line endings (Checkout Windows-style, commit Unix-style line endings) will convert all the line endings of the code you back up (commit) to LF. And when you get your code from your fellow developers (check out), all the line endings of the code will be converted to CRLF.
You might go, 'so what'? Well, if you find it difficult to merge files together, it might be because the line endings of those files are different. For now, since I'm assuming we're all using Windows here, our current configuration is fine. [This might be why a lot of developers who use Git work on Unix or Mac systems.]
9. I'm ONE of those developers who work on a Unix or Mac system
Ah. If you're using a Mac, I hope it's Mac OS X. Because if it's an earlier version ... you'll need to configure your editor/IDE to use LF. For existing files that are in CR you can convert them via the CLI . Here's the link to a tutorial that does both (the editor being gedit).
For others: well, to make sure you've chosen the recommended line endings when you installed Git, open a Terminal and type the command that's in white:
git config --global core.autocrlf input
This will ensure that all future repos are set to the option where Git does not convert the line endings of the code you get from your fellow developers (checking out). But when you are backing it up (committing), any CRLF will be converted to LF.
If you have an existing repo, open a Terminal and make sure the shown, current path you are on is correct; to configure the line endings of the repo, type the command that's in white:
git config core.autocrlf input
Cannot get to the directory you want because you've forgotten the change directory command? Worry not, here's an example of how to get to the directory shown above.
cd /d/BitBucket/projects/tutorialKey720@ProgClub /d/BitBucket/projects/tutorial
Then, all committed files should be in LF, making Git happy. :)
10. What the heck is OpenSSH?
'OpenSSH is a FREE version of the SSH connectivity tools that technical users of the Internet rely on. Users of telnet, rlogin, and ftp may not realize that their password is transmitted across the Internet unencrypted, but it is. OpenSSH encrypts all traffic (including passwords) to effectively eliminate eavesdropping, connection hijacking, and other attacks.' 
11. Setting up SSH keys
Remember Web Systems? Remember public key/asymmetric cryptography? If you skipped the subject or you don't remember:
'In public key cryptography, a public and private key are created simultaneously using the same algorithm (a popular one is known as RSA) by a certificate authority (CA). The private key is given only to the requesting party and the public key is made publicly available (as part of a digital certificate) in a directory that all parties can access. The private key is never shared with anyone or sent across the Internet. You use the private key to decrypt text that has been encrypted with your public key by someone else (who can find out what your public key is from a public directory).' 
With Git, we'll create a pair of SSH keys via Bash, keep the private key on our system, and share our public key on our BitBucket account. Speaking of BitBucket, if you haven't created an account yet I suggest you go and do it right now. :)
Now go to your start menu and search for the Git folder. Git Bash should be in there. Open it.
GitHub has a great tutorial  in how to create SSH keys, but since it's for GitHub, I will copy what they say with some changes so we can use BitBucket.
1. Let's check if you have a pair of SSH keys. Type the command in white.
If you get a
No such file or directory message skip to step 3.
2. Looks like you have an existing pair of SSH keys. Let's back them up and make a new pair.
lsid_rsa id_rsa.pub known_hosts
cp id_rsa* key_backup$
3. Make a pair of SSH keys.
ssh-keygen -t rsa -C "firstname.lastname@example.org"$ Generating public/private rsa key pair.
Enter file in which to save the key (/c/Users/Key720/.ssh/id_rsa):
Press Enter to save the keys in the default directory.
They will then ask you for a passphrase. Wait, a passphrase you say? Yes, a passphrase. They are more secure than passwords .
Enter passphrase (empty for no passphrase):
Now enter it! (Note, Bash will not show any form of notice that you are indeed typing something. Yes, your friendly asterisks are gone.)
Enter same passphrase again:
And enter it again!
Bash will then show you something similar to this:
Your identification has been saved in /Users/
Your public key has been saved in /Users/Key720
The key fingerprint is:
4. Now let's share your public key on BitBucket.
Hover over your username and choose Account. Scroll down till you see SSH keys.
Now go and find that
id_rsa.pub file. Which should be in, by default,
C:\Users\Your_User_Name\.ssh\ - the .ssh folder might be hidden, so make sure your file manager (Windows Explorer) is configured where hidden files can be seen.
id_rsa.pub with a text editor (such as Notepad or gedit), right click the text and choose Select All and then Copy.
Go back to your BitBucket page and paste it in the box under SSH keys. Click the Add key button.
You're done! :D
12. Setting up your information
GitHub sums it up perfectly:
'Git tracks who makes each commit by checking the user’s name and email. In addition, this information associates your commits with your [BitBucket] account. To set these, enter the [commands] below, replacing the name and email with your own. The name should be your actual name, not your [BitBucket] username.' 
git config --global user.name "InitialName Surname"
git config --global user.email "email@example.com"
13. Optional: Installing TortoiseGit (Windows only application)
Go to the downloads section of the tortoisegit site and download the latest appropriate bit installer. My Windows is 64-bit so at the time of writing, I chose TortoiseGit 18.104.22.168 - 64-bit.
Choose the default options ...
... until you reach Choose SSH Client.
Choose OpenSSH, Git default SSH Client, which is not the default option.
Continue with the default options.
Done! Well, that was easy!