我想在GitExtensions、Sourcetree或任何其他GitGUI中自动使用推拉,每次都不需要在提示中输入用户名和密码。
那么我如何在Git中保存我的凭据?
我想在GitExtensions、Sourcetree或任何其他GitGUI中自动使用推拉,每次都不需要在提示中输入用户名和密码。
那么我如何在Git中保存我的凭据?
当前回答
对于全局设置,打开终端(从任何位置),运行以下命令:
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”部分。
安全
请参阅备忘单的“安全”部分。
只需将您的凭据放入URL,如下所示:
https://Username`**:**`Password`**@**`github.com/myRepoDir/myRepo.git`
您可以这样存储:
git remote add myrepo https://Userna...
…使用它的示例:
git push myrepo master`
现在就是列出URL别名:
git remote -v
…以及删除其中一个的命令:
git remote rm myrepo
对于全局设置,打开终端(从任何位置),运行以下命令:
git config --global user.name "your username"
git config --global user.password "your password"
这样,您计算机上的任何本地Git存储库都将使用该信息。
您可以通过执行以下操作为每个存储库单独配置:
在存储库文件夹中打开终端。运行以下操作:git-config user.name“您的用户名”git-config user.password“您的密码”
它只影响该文件夹(因为您的配置是本地的)。
对于有相同问题的gitlab用户-
您可以设置一个部署令牌来克隆或从存储库中提取(不能使用部署令牌将代码推送到repo)。
在这里,您可以了解有关gitlab部署令牌的更多信息:https://docs.gitlab.com/ee/user/project/deploy_tokens/index.html
创建部署令牌后,请使用以下方法克隆回购:
git clone https://${username}:${deploy_token}@gitlab.com/yourusername/yourreponame.git
我认为这种方法比全局保存git用户名和git密码更好(例如,在远程共享计算机中可能不安全)
只需使用
git config --global credential.helper store
然后做数字拉动。它将要求输入用户名和密码。从现在起,它将不会提供任何用户名和密码提示。它将存储详细信息。