使用Git Bash配置用户和密码

161

我在Windows 7上使用Git Bash。我们使用GitHub作为代码库源。

每次我执行push或pull操作时,都需要提供用户名和密码凭据。我知道我的SSH密钥已正确设置,否则我将无法访问该存储库。(也就是说,一旦我输入凭据,push/pull操作就会正常工作。)

我已经输入了

git config --global user.name myusername
git config --global user.email myemail
git config --global github.user myusername
git config --global github.token mytoken

但是每次推送/拉取时仍然会要求我提供凭据。


2
请看...https://dev59.com/om435IYBdhLWcg3wkA5e - SteveC
请查看 https://builditmasters.com/git-config-username-and-password-global/。 - Osanda Gamage
14个回答

1

GnuPG可以用作跨平台密码管理器,包括GIT HTTPS凭据。 只需使用您的GPG密钥对加密/解密密码(令牌...)。 要加密令牌(密码),请运行:

gpg -e -o [PATH_TO_ENCRYPTED_TOKEN] -r "[GPG_KEY_USER_ID]"

输入令牌(或复制粘贴),然后按Ctrl+D结束输入,或使用带有此令牌的文件名。 然后创建自定义Git凭据助手:名称为git-credential-[HELPER_LAST_NAME]的BASH文件(不包括SH扩展名):

#!/bin/bash
token=`gpg -d -r "[GPG_KEY_USER_ID]" [PATH_TO_ENCRYPTED_TOKEN] 2>/dev/null`
echo protocol=https
echo host=[YOUR_HOST]
echo username=[YOUR_USER_NAME]
echo password=$token

在 MS-WINDOWS 上使用 GIT-BASH 时,路径名必须使用 UNIX 文件分隔符“/”,只需在 git-bash 中运行“echo $PATH”即可! 然后将助手放置在 $PATH 中。 最后添加并检查助手:
git config --global credential.helper [HELPER_LAST_NAME]
#then check it (password will be printed as plain text!!!):
git credential-[HELPER_LAST_NAME]

GnuPG可以用作Maven项目中的密码管理器,而不是Maven的密码加密方法。 等等。


0
如果您的仓库是HTTPS仓库,则在git bash中使用git config -e命令。打开插入模式更新用户名和密码,更改密码或用户名后按:x和Cntrl+z键即可保存并退出。 从那时起,当您推送/拉取代码到仓库时,它将不会要求密码。

0

非常简单的解决方案,您需要使用引号:

git config --global user.name "your name" 

0

如果您尚未尝试此选项,它可以解决在Git Bash上配置用户名和密码的问题,即能够将代码推送到您的存储库。

$ git init
$ git config user.name "yourusername"
$ git config user.email "youremail@email.com"
$ git add *
$ git commit -m "msg to be committed"
$ git push origin master/main

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接