TortoiseGit save user authentication / credentials
For TortoiseGit 1.8.1.2 or later, there is a GUI to switch on/off credential helper.
It supports git-credential-wincred
and git-credential-winstore
.
TortoiseGit 1.8.16 add support for git-credential-manager
(Git Credential Manager, the successor of git-credential-winstore
)
For the first time you sync you are asked for user and password, you enter them and they will be saved to Windows credential store. It won't ask for user or password the next time you sync.
To use: Right click → TortoiseGit → Settings → Git → Credential. Select Credential helper: wincred - this repository only / wincred - current Windows user
If you're going to downvote this answer
I wrote this a few months prior to the inclusion of git-credential in TortoiseGit. Given the number of large security holes found in the last few years and how much I've learned about network security, I would HIGHLY recommend you use a unique (minimum 2048-bit RSA) SSH key for every server you connect to.
The below syntax is still available, though there are far better tools available today like git-credential
that the accepted answer tells you how to use. Do that instead.
Try changing the remote URL to https://[email protected]/username/repo.git
where username
is your github username and repo
is the name of your repository.
If you also want to store your password (not recommended), the URL would look like this: https://username:[email protected]/username/repo.git
.
There's also another way to store the password from this github help article: https://help.github.com/articles/set-up-git#password-caching
None of the above answers worked for me using git version 1.8.3.msysgit.0 and TortoiseGit 1.8.4.0.
In my particular situation, I have to connect to the remote git repo over HTTPS, using a full blown e-mail address as username.
In this situation, wincred
did not appear to work.
Using the email address as a part of the repo URL also did not work, as the software seems to be confused by the double appearance of the '@' character in the URL.
I did manage to overcome the problem using winstore
. Here is what I did:
- Download
winstore
from http://gitcredentialstore.codeplex.com/ - Run
git-credential-winstore.exe
to install it.
This will copy the git-credential-winstore.exe
to a local directory and add two lines to your global .gitconfig
. You can verify this by examining your global .gitconfig
. This is easiest done via right mouse button on a folder, "TortoiseGit > Settings > Git > Edit global .gitconfig". The file should contain two lines like:
[credential]
helper = !'C:\\Users\\yourlogin\\AppData\\Roaming\\GitCredStore\\git-credential-winstore.exe'
- No other TortoiseGit settings are needed under "Network" or "Credential". In particular: the "Credential helper" pull down menu under "Credential" will have gone blank as a result of these configuration lines, since TortoiseGit does not recognize the new helper. Do not set the pull down menu to another value or the global .gitconfig will be overwritten with an incorrect value! (*)
You are now ready to go:
- Try to pull from the remote repository. You will notice an authentication popup asking your username and password, the popup should be visually different from the default TortoiseGit popup. This is a good sign and means
winstore
works. Enter the correct authentication and the pull should succeed. - Try the same pull again, and your username and password should no longer be asked.
Done!
Enjoy your interactions with the remote repo while winstore
takes care of the authentication.
(*) Alternatively, if you don't like the blank selection in the TortoiseGit Credential settings helper pull down menu, you can use the "Advanced" option:
- Go to "TortoiseGit > Settings > Credential"
- Select Credential helper "Advanced"
- Click on the "G" (for global) under Helpers
Enter the Helper path as below. Note: a regular Windows path notation (e.g. "C:\Users...") will not work here, you have to replicate the exact line that installing
winstore
created in the global.gitconf
without the "helper =" bit.!'C:\\Users\\yourlogin\\AppData\\Roaming\\GitCredStore\\git-credential-winstore.exe'
Click the "Add New/Save" button