使用Git Bash配置用户和密码


96

我在Windows 7上使用Git Bash。我们使用GitHub作为存储库来源。

每次我按下或拉动我都必须提供用户和密码凭据。我知道我的SSH密钥设置正确,否则我将无法访问存储库。(也就是说,一旦输入凭据,推/拉就可以正常工作。)

我已经进入

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

但是无论如何,每次我推/拉时都会要求我提供凭据。


Answers:


64

确保您使用的是GitHub存储库的SSH URL,而不是HTTPS URL。当您使用HTTPS而不是SSH时,它将询问用户名和密码。您可以检查文件.git/config或运行git config -egit remote show origin验证URL并根据需要进行更改。


19
由于内部防火墙规则,我无法使用SSH(不要问...)。还有其他方法可以让git自动登录吗?
2015年

62

从Git Bash我更喜欢运行命令:

git config --global credential.helper wincred

到那时,应该运行一次类似的命令git pull并输入您的凭据,然后将其存储以备将来使用。Git有一个内置的凭据系统,可以在不同的OS环境中工作。您可以在此处获得更多详细信息:7.14 Git工具-凭据存储


是否有Linux替代品,或者这也适用于Linux?
售罄

1
混帐配置--global credential.helper缓存help.github.com/en/github/using-git/...
山姆·苏斯曼

什么都没有为我工作。我快疯了!我重新安装了Git并尝试了一下,它的工作原理就像一个魅力。谢谢!!!
LTV

也在win10 cmd控制台中工作
dimplex

49

对于使用访问令牌和Windows环境的用户,有一种简单的方法可以做到这一点:

开始菜单→凭据管理器Windows凭据→查找行(Git:https:// whatever / your-repository / url)→编辑, 用户名是“ PersonalAccessToken”,密码是您的访问令牌。


节省时间!谢谢!!
约里奥

12

如果您是Mac用户并启用了钥匙串,则需要删除钥匙串中存储的授权信息:

- Open up Keychain access
- Click "All items" under category in the left-hand column
- Search for git
- Delete all git entries.

然后,您应该使用以下命令从终端更改用户名和电子邮件 git config以下命令:

$ git config --global user.name "Bob"

$ git config --global user.email "bob@example.com"

现在,如果您尝试推送到存储库,将要求您输入用户名和密码。输入您要切换到的登录凭据。如果您使用其他用户名和密码或终端上先前切换的帐户在浏览器上登录GitHub,通常会弹出此问题。


这对我有帮助。尽管无需删除git条目,但是您可以在此处进行编辑。
herrmartell

2

将远程添加为:

git remote add https://username:password@github.com/repodir/myrepo.git

1

尝试使用ssh-agent安装用于Git的SSH密钥。使用密码短语后,它将自动登录。


1

使用适用于Windows的git bash时,以下其他答案的组合对我有用(使用GitHub客户端检出存储库,即https,而不是ssh):

  1. 生成个人访问令牌
  2. 在您的仓库中启动git bash会话
  3. git config --global credential.helper wincred
  4. git pull
  5. 给PersonalAccessToken作为用户名
  6. 提供个人访问令牌作为密码

0

如果您的仓库是HTTPS仓库,则git config -e在git bash中提供此命令。通过以插入模式打开来更新用户名和密码,更改密码或用户名,然后输入:x和Cntrl + z键,然后保存并退出

因此,从那时起,当您将代码拉入/推送到存储库时,它将不会要求输入密码。


0

我在这个链接里写了答案;

不过,我也在这里分享。

全局更改用户名和电子邮件

git config --global user.name "<username>"
git config --global user.email "<email>"

更改当前回购的用户名和电子邮件

git config  user.name "<username>" --replace-all
git config  user.email "<email>" --replace-all
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.