Setting up git and ssh and using ssh-agent to store password with msysgit on Windows

Ok, this is a pretty specific question, but I had some challenges figuring it out so I figured I would share my experience so if anyone else runs into the same problems, they can fix it a little faster.

Goal: use ssh-agent and msysgit to -as securely as possible- store ssh key password to prevent having to type it for every git command involving remote repository

  • How to solve .xib file conflicts in Git
  • Failure on git subtree push with crazy output
  • How to ignore files starting with # in git
  • git: can I subtree merge just a subpath of a repository?
  • GitForWindows keeps asking for OpenSSH password (Wish Application)
  • Git: How to undo unstaged changes in a certain folder
  • Best low overhead practice for keeping multiple always synced copies of a repository
  • How do I revert back to a former Git commit and then save it in a separate branch?
  • Configure Jenkins to use GIT On Windows, Got stderr: Permission denied (publickey)
  • GitHub does not let me access Subfolders
  • GIt Deployment + Configuration Files + Heroku
  • git - Could not resolve proxy:
  • 2 Solutions collect form web for “Setting up git and ssh and using ssh-agent to store password with msysgit on Windows”

    1) Create a .bashrc file in the user directory (default windows C:\Users\UserName\)
    NOTES: if you think you can just right click in the directory in Windows Explorer and create a file called .bashrc you (and me) are sadly mistaken, you’ll get an error from Explorer preventing you from creating a file without a name. So, I did this from my git bash by executing echo 'blah' >> .bashrc just so I could get the file to edit in notepad to put the required code in it.

    2) Edit .bashrc in a text editor and put the code found here: https://help.github.com/articles/working-with-ssh-key-passphrases#platform-windows under “Auto-launching ssh-agent on msysgit”

    3) restart bash.

    TROUBLE SHOOTING: ps will show all running processes. I found that when I was testing this out, it wasn’t prompting me to put in my password when bash was started. When I executed ps I noticed many ssh-agents running. After killing them all, I was able to restart git bash and everything worked. Identifying this problem took me the longest.

    What about to include pass in git repo-url:

    git clone http://username:password@example.com/git/Project.git .
    

    It’s not very safe solution, but works 🙂

    Git Baby is a git and github fan, let's start git clone.