我想在Git Extensions中使用自动push和pull,Sourcetree 或任何其他 Git GUI,无需在其中输入我的用户名和密码 每次都有提示。
那么如何在 Git 中保存我的凭据?
In Terminal, enter the following:
# Set Git to use the credential memory cache
git config --global credential.helper cache
By default, Git will cache your password for 15 minutes.
To change the default password cache timeout, enter the following:
# Set the cache to timeout after 1 hour (setting is in seconds)
git config --global credential.helper 'cache --timeout=3600'
From GitHub Help.
You can use git-credential-store to store your passwords unencrypted on the disk, protected only by the permissions of the file system.
Example
git config credential.helper store git push http://example.com/repo.git
Username: <type your username>
Password: <type your password>[Several days later]
git push http://example.com/repo.git
[Your credentials are used automatically]
You can check the credentials stored in the file ~/.git-credentials
.
For more information, visit git-credential-store - Helper to store credentials on disk.
.git-credentials
is where your username and password (access token) is stored when you run git config --global credential.helper store
, which is what other answers suggest, and then type in your username and password or access token:
https://${username_or_access_token}:${password_or_access_token}@github.com
So, in order to save the username and password (access token):
git config —-global credential.helper store
echo “https://${username}:${password_or_access_token}@github.com“ > ~/.git-credentials
This is very useful for a GitHub robot, e.g. to solve Chain automated builds in the same Docker Hub repository by having rules for different branch and then trigger it by pushing to it in the post_push
hook in Docker Hub.
An example of this can be seen here on Stack Overflow.
In that case, you need git credential helper to tell Git to remember your GitHub password and username by using following command line:
git config --global credential.helper wincred
And if you are using a repository using an SSH key then you need the SSH key to authenticate.
If you are using the Git Credential Manager on Windows...
git config -l
should show:
credential.helper=manager
However, if you are not getting prompted for a credential then follow these steps:
Also ensure you have not set HTTP_PROXY
, HTTPS_PROXY
, NO_PROXY
environmental variables if you have proxy and your Git server is on the internal network.
You can also test Git fetch/push/pull using git-gui
which links to credential manager binaries in C:\Users\<username>\AppData\Local\Programs\Git\mingw64\libexec\git-core
Save the username and password globally:
git config --global user.name "fname lname"
git config --global user.email "example@gmail.com"
git config --global user.password "secret"
Get a specific setting,
git config --global --get user.name
git config --global --get user.email
git config --global --get user.password
Getting all Git settings:
git config --list --show-origin