Install the git shell
There is a fresh Github gui for Windows as well as many other graphic interfaces, but, git was designed to be used from a shell: remember that it was the version control system that Linus Torvalds wrote to develop Linux.
It is much more expressive using it from command line, and to mock up a gui with all those features and options would be completely insane.
So, use the ghost in the shell.
Go to Git for Windows platform download page and get the last installer: at the time of this writing is
just hit the Next button and trust defaults.
The only customization I strongly recommend is to check the Run Git from Windows Command Prompt flag.
This is optional but useful to enable other programs that use git. For example:
First of all, know your current configuration.
git config --list
Add your user info, for instance
git config --global user.email "[email protected]" git config --global user.name "fibo"
I really recommend you to flag the quick edit mode option on your prompt preferences. It will enable right mouse button to paste, otherwise you can use Shift+INS.
SSH public key based authentication
This step is not required, but, it is really usefull. You can generate an ssh key to bypass authenitcation prompt, i.e. insert your username and password everytime you push to remote server.
Create an ssh key
You need an ssh key if you want to authenticate easily on a web-based hosting service, like GitHub.
ssh-keygen -t rsa -C "[email protected]"
By now I just hit enter three times, even when prompted for a passphrase.
For more information about passphrase see: Working with SSH key passphrases.
Add your ssh key on your hosting service
You need to copy the content of you id_rsa.pub. The easiset way to copy it, if you have the clip.exe command is
clip < $HOME/.ssh/id_rsa.pub
which will copy your public key to the clipboard so you can edit your hosting service’s account preferences and paste it after you add a new ssh key.
For example, on GitHub is under the SSH keys profile settings menu.
You can check your ssh key is working, using
ssh -T, for instance
$ ssh -T [email protected] The authenticity of host 'github.com (126.96.36.199)' can't be established. RSA key fingerprint is 16:27:ac:a5:76:28:2d:36:63:1b:56:4d:eb:df:a6:48. Are you sure you want to continue connecting (yes/no)? yes Warning: Permanently added 'github.com,188.8.131.52' (RSA) to the list of know n hosts. Hi fibo! You've successfully authenticated, but GitHub does not provide shell ac cess.
$ ssh -T [email protected] conq: logged in as fibo. You can use git or hg to connect to Bitbucket. Shell access is disabled.
Read Bypass restrictive firewall settings instructions to work around it.