Git push不要求密码并给出401.在密码键入内置在控制台中时很好

时间:2012-02-20 16:46:41

标签: git msysgit

我已经尝试使用谷歌搜索和堆叠谷歌搜索,但还没有找到解决方案。我在Windows下使用Git。

当我尝试其中任何一个命令时:

$ git push origin master
$ git push https://name@server/git/repoName.git

即。没有输入我的密码,每次我收到验证错误(它甚至没有要求密码):

error: RPC failed; result=22, HTTP code = 401
fatal: The remote end hung up unexpectedly
fatal: The remote end hung up unexpectedly

当我直接提供密码(内联)时,推送工作正常:

$ git push https://name:myPasswordHere@server/git/repoName.git

如果需要,我认为可能有用的其他信息:

$ git remote -v
origin  https://name@server/git/repoName.git (fetch)
origin  https://name@server/git/repoName.git (push)

.gitconfig的内容:(git config --list实际显示它,因此读取文件。)

[http]
    sslVerify = false
[user]
    name = foo
    email = foo@foo.com

配置选项的完整列表:

$ git config --list // outside the repo
core.symlinks=false
core.autocrlf=true
color.diff=auto
color.status=auto
color.branch=auto
color.interactive=true
pack.packsizelimit=2g
help.format=html
http.sslcainfo=/bin/curl-ca-bundle.crt
sendemail.smtpserver=/bin/msmtp.exe
diff.astextplain.textconv=astextplain
rebase.autosquash=true
http.sslverify=false
user.name=foo
user.email=foo@foo.com

任何暗示可能出错的地方?

2 个答案:

答案 0 :(得分:2)

我们也有同样的问题,解决方案是降级到1.7.6或类似,我们尝试1.7.8 / 9的所有内容都以同样的方式失败

http://code.google.com/p/git-core/issues/detail?id=2

答案 1 :(得分:0)

根据我的经验,Git的http支持非常错误(有时是由于cURL中的错误,Git使用的http库)。如果可能,请改用ssh。

一些猜测:

  1. 已设置GIT_ASKPASS环境变量。
  2. cURL使用的.netrc(可能是_netrc在Windows上?)文件包含您网站的密码错误。
  3. Git或cURL库中存在错误。尝试更新到最新版本的Git for Windows或降级到同事使用的相同版本。