我在客户端上使用Windows,我有一个独立的GitLab-CE安装(通过omnibus包),我的身份验证有问题,但它不是服务器问题,我有问题只有一个客户端,我可以从其他客户端访问没有问题然后问题是在这个客户端。
当git需要身份验证时,我收到此错误:
push
我在服务器上创建了几个repos,当我执行push
操作,其中git需要身份验证,客户端向我显示身份验证对话框(用户和pwd提示符),我写了我的凭据,我得到了同样的错误。我可以使用相同的凭据访问gitlab前端,但我无法从私有存储库执行clone
(或git remote delete origin
git remote add origin http://USER:PASSWORD@sgit.emuasa.es/jros/PruebaGit1.git
。)
我只有在使用以下方式将用户和密码放入遥控器时才能访问:
git remote delete origin
git remote add origin http://USER@sgit.emuasa.es/jros/PruebaGit1.git
然后我可以访问,但我不想在远程列表中显示密码。
我试图只写用户:
fatal: Authentication failed for 'http://jros@sgit.emuasa.es/jros/PruebaGit1.git/'
Git提示我输入密码但结果是一样的:
git config --unset credential.helper
我已使用以下方式清除凭证助手:
{{1}}
我已从Windows Credential Manager中删除了凭证......但我无法找到此问题的根源......
由于我使用github和gitlab(在线)存储库没有问题,这是一个奇怪的行为。
我已卸载并重新安装所有git客户端应用程序(tortoisegit,GitExtension,GitKraken)并卸载Git但没有...
你能帮帮我吗?有任何想法吗?我该怎么办?答案 0 :(得分:1)
好的,我已经解决了。
我已将GIT_CURL_VERBOSE = 1设置为env变量(如@Jcl在其评论中所述),我可以看到git连接到代理:
* Couldn't find host sgit.emuasa.es in the _netrc file; using defaults
* timeout on name lookup is not supported
* Trying 10.31.9.20...
* Connected to proxy.XXXX.XXX (XX.XX.X.XX) port 8080 (#0)
> GET http://sgit.emuasa.es/jros/prueba2.git/info/refs?service=git-upload-pack HTTP/1.1
Host: sgit.emuasa.es
User-Agent: git/2.8.3.windows.1
Accept: */*
Accept-Encoding: gzip
Accept-Language: es, *;q=0.9
Pragma: no-cache
git服务器是内部的,不需要通过代理。 我从以下位置删除了代理配置:
git config --global --unset http.proxy
netsh winhttp proxy
我也一样,git连接到代理......
我正在搜索.gitconfig文件但我找不到它......
最后,我在我的系统上找到了一个名为HTTP_PROXY
的环境变量,并指向我的代理......
我还没有找到关于GIT的信息使用这个环境变量,但GIT使用它。