我在一个只允许HTTP/HTTPS的防火墙后面。虽然我可以通过HTTPS拉取git repo,但我无法通过HTTP/HTTPS推送它们。虽然repo托管在github上,这允许这样做,但我得到了一个错误。下面是我得到的错误:
user@ubuntu:~/crazykdeme/mirrored/news$ git push -u origin master
XML error: not well-formed (invalid token)
error: no DAV locking support on https://github.com/mynick/news.git/
fatal: git-http-push failed
3条答案
按热度按时间46qrfjad1#
如果您启用了双因素身份验证(2FA),请检查您的个人访问令牌的有效性。因为个人访问令牌用于通过HTTP对Git进行身份验证。
7ajki6be2#
检查您正在推送的存储库中是否有某种vpn或额外的安全性,在我的情况下,它在gitlab中并且有一些公司安全设置,并且我必须在我能够访问存储库并进行推送之后激活相同的vpn
agyaoht73#
2012年:我设法在代理后面很好地推送到GitHub,使用https地址。
但是,您需要Git 1.6.6+才能支持smart-http协议:
更多内容请参见“Cannot push Git to remote repository with http/https”,以及“Git push over HTTP not activating remote hooks”了解智能http的一般思想和优点。
要知道所有的变量,你需要设置,以使thyat推成功:
请参阅“无法在git上使用Http”:
http_proxy
https_proxy
http.sslcainfo
$HOME/.netrc
(或Windows上的%HOME%/_netrc
)2023:不要忘记,since Aug. 2021,基于令牌的身份验证(例如,个人访问,OAuth,SSH密钥或GitHub App安装令牌)将需要所有经过身份验证的Git操作。
所以请确保使用PAT (Personal Access Token)作为密码。