我想在GitExtensions、Sourcetree或任何其他GitGUI中自动使用推拉,每次都不需要在提示中输入用户名和密码。
那么我如何在Git中保存我的凭据?
我想在GitExtensions、Sourcetree或任何其他GitGUI中自动使用推拉,每次都不需要在提示中输入用户名和密码。
那么我如何在Git中保存我的凭据?
当前回答
如果您使用SSH身份验证而不是用户名/密码身份验证,您将更加安全。
如果您使用的是Mac,SSH客户端身份验证将集成到macOS密钥链中。创建SSH密钥后,在终端中键入:
ssh-add -K ~/.ssh/id_rsa
这将向macOS密钥链添加SSH私钥。Git客户端连接到远程服务器时将使用SSH。只要您在服务器上注册了ssh公钥,就可以了。
其他回答
全局保存用户名和密码:
git config --global user.name "fname lname"
git config --global user.email "example@gmail.com"
git config --global user.password "secret"
获取特定设置,
git config --global --get user.name
git config --global --get user.email
git config --global --get user.password
正在获取所有Git设置:
git config --list --show-origin
要将用户名和用户密码保存到github帐户中,只需按顺序运行这些命令。
git config --global user.name "userName"
git config --global user.email "usernam@gmail.com"
git config --global user.password "userPassword"
git config --global credential.helper store
git config --list --show-origin
然后使用以下命令生成密钥:
ssh-keygen -t rsa -C "useremail@gmail.com"
注意:复制创建id_rsa文件的文件位置然后转到该文件位置-->打开gitbash或命令提示符-->运行命令-cat id_rsa.pub
将显示SSH密钥,复制此SSH密钥并将其粘贴到gihub/gitlab帐户中
在这种情况下,您需要git凭据助手通过以下命令行告诉git记住您的GitHub密码和用户名:
git config --global credential.helper wincred
如果您使用的是使用SSH密钥的存储库,则需要SSH密钥进行身份验证。
对于全局设置,打开终端(从任何位置),运行以下命令:
git config --global user.name "your username"
git config --global user.password "your password"
这样,您计算机上的任何本地Git存储库都将使用该信息。
您可以通过执行以下操作为每个存储库单独配置:
在存储库文件夹中打开终端。运行以下操作:git-config user.name“您的用户名”git-config user.password“您的密码”
它只影响该文件夹(因为您的配置是本地的)。
在浏览了数十篇StackOverflow文章、博客等之后,我尝试了每一种方法,这就是我想到的。它涵盖了一切。
普通的DevOps Git证书和私有包备忘单
这些都是在没有交互式密码提示的情况下安全验证Git以克隆存储库的所有方法和工具。
SSH公钥SSH-ASKPASSAPI访问令牌GIT_ASKPASS.gitconfig代替.gitconfig[凭据].git凭据.netrc文件私人套餐(免费)Node.js/npm包.jsonPython/pip/geggs requirements.txt红宝石宝石宝石文件转到.mod
银子弹
只想工作™? 这是神奇的银弹。
获取您的访问令牌(如果您需要GitHub或Gitea说明,请参阅备忘单中的部分),并将其设置在环境变量中(用于本地开发和部署):
MY_GIT_TOKEN=xxxxxxxxxxxxxxxx
对于GitHub,逐字复制并运行以下行:
git config --global url."https://api:$MY_GIT_TOKEN@github.com/".insteadOf "https://github.com/"
git config --global url."https://ssh:$MY_GIT_TOKEN@github.com/".insteadOf "ssh://git@github.com/"
git config --global url."https://git:$MY_GIT_TOKEN@github.com/".insteadOf "git@github.com:"
祝贺现在,无论是使用HTTPS还是SSH URL,任何自动克隆Git存储库的工具都不会受到密码提示的阻碍。
不使用GitHub?
对于其他平台(Gitea、GitHub和Bitbucket),只需更改URL即可。不要更改用户名(尽管是任意的,但不同的配置条目需要它们)。
兼容性
这在macOS、Linux、Windows(Bash)、Docker、CircleCI、Heroku、Akkeris等本地运行。
更多信息
请参阅备忘单的“.gitconfig insteadOf”部分。
安全
请参阅备忘单的“安全”部分。