用于Windows的Git bash不提示输入密码

时间:2012-02-08 01:57:56

标签: git version-control google-code

我是学生,也是版本控制软件的新手,因此我无法解决这个问题。我正在使用Google代码Git存储库。要访问此存储库,我在Windows 7上使用Git Bash。问题是,当我到达推送步骤时,我没有被提示输入密码。例如:

首先,我设置如下全局变量:

git config --global user.name "Your Name"
git config --global user.email youremail@gmail.com 

克隆

$ git clone https://UserName@code.google.com/p/repository/

然后我对文件进行了更改/添加了新文件等,并添加了

$ git add .

承诺

$ git commit -m "Message"

拉扯以确保我是最新的

$ git pull
Already up-to-date.

但是当我推动时,我没有被提示输入密码

$ git push origin master
fatal: remote error: Invalid username/password.
You may need to use your generated googlecode.com password; see https://code.goo
gle.com/hosting/settings

有什么建议吗?谢谢。

4 个答案:

答案 0 :(得分:7)

对于并非特定于machine.google.com的类似问题,您可以尝试在Windows凭据管理器中删除或更新已保存的git密码。我的系统保存了旧密码:

  1. 开始
  2. 类型:凭据管理器
  3. 双击Windows Credential Manager快捷方式
  4. 单击“ Windows凭据”选项卡。
  5. 找到要删除的凭据,它们将以“ git:”开头,并且可能以“ ada:”
  6. 开头
  7. 单击凭据条目,将打开该条目的详细信息视图。
  8. 单击“删除”以删除,或单击“编辑”以更新密码

信用:https://github.com/Microsoft/Git-Credential-Manager-for-Windows/issues/141

答案 1 :(得分:3)

修改:通过将用户名放入网址(至少截至2011年8月),您似乎无法成功访问Google代码,请参阅:netrc not accepted by git


那就是说,这个可能工作:

取自上面显示的网址(您必须访问the site):

  

对于Git存储库,您可以将以下行添加到.netrc文件中,记录您已提交访问的每个存储库域的密码。确保您已在.netrc上设置权限,以便只有您的用户帐户才能读取它。

     

机器code.google.com登录blah.blah@gmail.com密码mypasswordXXX123

如果你有上面的项目,看起来像在Git Bash中你应该能够像这样更新你的_netrc文件:

echo "machine code.google.com login blah.blah@gmail.com password mypasswordXXX123" > $HOME/_netrc

答案 2 :(得分:2)

ufk的评论是正确答案。更明确一点,如果你推动

git push https://code.google.com/p/name-of-project/ master

系统将提示您输入用户名和密码(假设未按照OP的规定设置.netrc)。可以指定另一个分支而不是master,但省略分支可能不起作用。

答案 3 :(得分:0)

将以下命令放入git bash

git config --global core.askpass / usr / libexec / git-core / git-gui - askpass