我是学生,也是版本控制软件的新手,因此我无法解决这个问题。我正在使用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
有什么建议吗?谢谢。
答案 0 :(得分:7)
对于并非特定于machine.google.com的类似问题,您可以尝试在Windows凭据管理器中删除或更新已保存的git密码。我的系统保存了旧密码:
信用: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