Git & SSH & TortoiseGit
A lot of Beginners tend to use VCS Clients they already know. So, if someone used TortoiseSvn before (which is fine, it works) they will naturally trip over TortoiseGit – which is fine, works in most contexts, but will not enable you to progress further with git.
In Combination, the Installation of Git for Windows an Tortoise Git has other pitfalls. While installing Git, you´re given the choice if you want to have a separate Git Bash or you could merge Paths and use the Git Bash Commands in your Windows Shell. Most People choos the Former, but you should probably give the latter option a thought. Having Unix Style Commands and Git in your normal shell has no downsides (at least i never encountered any) and it integrates seamlessly. I recommend to merge Paths.
Now, when you´re able to use Git on the Console, it will use the console ssh client if you use SSH Git Repo Links. I recommend using SSH Keys for Authorization, you could use one or have a separate one for each Server you use, this doesn´t matter as long as your keys are password protected (you definitely want that). The Keys should be located at your Users Home Directory in the .ssh Folder. The SSH Client will ask you on console to enter your Keys Password.
This becomes a barrier if you install TortoiseGit. I really never got behind the logic that TortoiseGit and Plink/Putty work so well together but are so hostile no basic ssh connections on console. TortoiseGit not only configures SSH Connections for itself, but system wide as it seems, and it´s quite a pest to get rid of. You could tinker around with TortoiseGit´s SSH Settings and maybe succeeed, or deinstall it completely and still fail to get the configuration to work.
Actually my rather feeble pro Tips are:
- Use the last option for Merging of Paths when installing Git (Yes, the one with the flashy red Warnings!)
- Avoid TortoiseGit at all costs. Plus, you´re forcing yourself to familiarize yourself with the console commands (Which is a good thing!)
- Acutally there are really nice graphical Git Clients out there that do not mess with your Basic System Configuration: Smartgit, GitEye or SourceTree