我无法从azure devops克隆简单存储库。
操作系统:ubuntu 18.10
我这样做:
去蔚蓝德沃斯
单击我的用户名的右上角
转到“安全”选项卡
创建一个包含所有作用域的pat(以确保没有作用域
问题)
将pat复制到剪贴板
将pat粘贴到其他地方以确认pat已正确复制(我知道…不安全,但这超出了问题的范围)
转到我的控制台
问题:git clone https://myorganization.visualstudio.com/myproject/_git/myrepo/
我输入用户名和密码(pat)
我一直收到Git的消息:fatal: Authentication failed for 'https://myorganization.visualstudio.com/myproject/_git/myrepo/'
我在读别人的解决方案,但没有一个对我有用。
我也试过:
把代币以https://usename:[email protected]/myproject/_git/myrepo/的形式递过来,我真的很惊讶人们说这有效…因为我的孩子抱怨
因为相信:就是港口。
试图
在Windows和
乌班图。
尝试激活和停用简单凭据。
尝试使用简单的凭据,即用户名+密码。
试图将我的用户名输入https://username@…
尝试使用ssh
尝试在git命令中使用http.extraheader,头为authorization:basic base64encoded(uname:pat)
尝试在git命令中使用http.extraheader,头部为authorization:bearer pat
尝试使用vscode客户端。它自己生成pat,但仍然无法进行身份验证和克隆。
尝试使用Rider VSTS客户端。它自己生成pat,但仍然无法进行身份验证和克隆。
尝试使用Linux的Git凭据管理器。它会提示代码,当我们在浏览器中进行身份验证时,它会成功地生成pat。不过,在那之后无法进行身份验证。
你知道为什么这不管用吗?
最佳答案
我也经历过同样的问题,花了很长时间寻找解决方案。最后我遇到了this post,它在comments部分包含了一个解决方案。
简而言之,需要通过git http.extraheaders传递用户名和编码为base64的pat,以便进行身份验证。
100%归功于原作者,仅在这里包括它以帮助其他人找到它:
例子:
git-c http.extraheader=“授权:基本txlhaxrtew5jvxnlcjo2bhfqnxjkchezdxxwvmd2o3bdduzxn5ntr3gxnhfobdvlanl5ntvkb2g0m3d4yzrh”克隆Martinius79
已使用基本令牌base64编码:txlHaxRtew5jvxnlcjoo2bhfqnxjkchezdxxzwvmd2o3bdduzxn5ntr3d3gxnhfobdvlan5ntvkb2g0m3d4yzrh
基本令牌base64解码:mygitsyncuser:6lqj5rdpq3upqeefwj7l7nesy54wwx14qhl5ejy55doh43wxc4a
令牌由以下内容构造:
在本例中:
虚构用户名:mygitsyncuser
使用部位:6LQJ5RDPQ3UPQEEFWJ7L7NESY54WWX14QHL5EJYY55DOH43WXC4A
我希望这有帮助!
关于git - 无法使用PAT从Azure DevOps克隆git,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/53106546/