严重:无法读取“ https://OrganizationName@dev.azure.com”的密码:终端提示已禁用

时间:2019-06-24 09:45:30

标签: git azure-devops azure-pipelines azure-powershell azure-pipelines-build-task

在使用Azure Pipelines PowerShell任务进行构建时,我尝试将develop分支合并到master分支。

但是在执行命令git push时,出现此错误:

  

致命:无法读取以下用户的密码   'https://OrganizationName@dev.azure.com':终端提示已禁用

代码存储库是“ Azure Repos Git”。

git checkout -b master
git config --global user.email "xxxxxxx@xxxx.xxx"
git config --global user.name "xxxxx"
git merge origin/develop 
git push origin master

在引用了一些URL之后,我创建了个人访问令牌,并将push命令修改为git push https://PAT@dev.azure.com/OrganizationName,但仍然无法正常工作。

如果您找到解决此问题的方法,请告诉我。

3 个答案:

答案 0 :(得分:1)

正如您提到的,您需要使用PAT,但必须采用这种方式:

git push https://{PAT}@dev.azure.com/{organization}/{project}/_git/{repo-name}

另一种解决方案是在作业选项中“允许脚本访问OAuth令牌”:

photo

在git push中使用System.AccessToken:

git push https://$env:SYSTEM_ACCESSTOKEN@dev.azure.com/......

并将推送权限授予构建用户(在回购设置中):

enter image description here

答案 1 :(得分:1)

类似于 Shayki's answer,但如果您没有运行 powershell 任务,请使用:

git push https://$(System.AccessToken)@dev.azure.com/......

我特别在使用

  • 经典管道
  • 一个本地 Windows 构建代理
    • 代理作业设置已允许脚本访问 OAuth 令牌启用
  • 命令行任务

答案 2 :(得分:0)

请阅读{{3}}。

  

此帮助程序的目的是减少您必须输入用户名或密码的次数。例如:

$subject != "Chemistry"
     
     

[再工作5分钟]

$ git config credential.helper cache
$ git push http://example.com/repo.git
Username: <type your username>
Password: <type your password>
     

[您的凭据将自动使用]