You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在Azure DevOps Server中使用PAT克隆Git仓库并适配SmartGit

问题原因说明

本地部署的Azure DevOps Server 2020.0.1和云版Azure DevOps的身份验证逻辑存在差异,云版支持直接在仓库URL中嵌入PAT完成认证,但本地部署版本默认未开启URL内嵌凭证的原生解析支持,所以你测试的多种URL内嵌凭证格式都会返回认证失败。
你使用手动添加Basic认证头的命令可以正常执行,并不需要IIS开启基本身份验证,这是ADOS本身的内置PAT验证逻辑兼容Basic认证的编码格式,和IIS层面的基础认证模块没有关系,属于文档描述的歧义点。

SmartGit配置PAT认证的方案

你可以通过以下两种方式完成配置:

方案1:克隆时直接填写凭证

  • 打开SmartGit克隆界面,输入正常的仓库HTTPS地址:https://yourURL/yourOrgName/yourProjectName/_git/yourRepoName
  • 进入认证步骤时,用户名栏可以留空或者填写任意字符串,密码栏直接输入你的全权限PAT,即可正常完成克隆操作。

方案2:配置全局自定义认证头(适合长期使用)

如果你需要经常访问该ADOS实例下的仓库,可以直接在Git配置中添加全局认证头,SmartGit会自动读取该配置:

  1. 用你之前的PowerShell命令生成Base64编码的凭证字符串:
$MyPat = '你的PAT值'
$B64Pat = [Convert]::ToBase64String([System.Text.Encoding]::UTF8.GetBytes(":$MyPat"))
  1. 打开SmartGit设置,找到「Git」-「自定义配置」,添加如下配置项:
[http "https://你的ADOS域名/"]
  extraHeader = Authorization: Basic 替换为上一步生成的$B64Pat值

配置完成后所有该域名下的Git操作都会自动携带认证头,不需要重复输入凭证。

异常排查点

如果配置后仍然认证失败,优先检查两个配置:

  • 若你的ADOS使用自签名HTTPS证书,需要在SmartGit中添加证书信任,或者临时关闭对应域名的SSL校验(仅测试用,不推荐生产环境使用):git config --global http."https://你的ADOS域名/".sslVerify false
  • 确认PAT未过期、权限范围包含对应仓库的代码读取权限,你已经验证过PAT可用于Agent和REST API,该问题出现概率极低。

内容的提问来源于stack exchange,提问作者Remkop

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.07 15:48:00