使用OnPremise Azure Devops 2019服务器,我试图通过在ProcessInfo中调用以下git命令以编程方式克隆git存储库:
clone https://{username}:{PATTOKEN}@{DEVOPSSERVERDOMAIN}/{TEAMPROJECT}/_git/{PROJECT}
这里是c#代码:
var gitInfo = new ProcessStartInfo
{
CreateNoWindow = true,
RedirectStandardError = true,
RedirectStandardOutput = true,
FileName = pathToGitExe
};
Process gitProcess = new Process();
gitInfo.Arguments = theCloneCommand
gitInfo.WorkingDirectory = workingFolder;
gitProcess.StartInfo = gitInfo;
gitProcess.Start();
但我一直在犯错误
Cloning into 'PROJECT'...
fatal: Authentication failed for '{DEVOPSSERVERDOMAIN}/{TEAMPROJECT}/_git/{PROJECT}'
PAT是否使用不当?有什么建议吗
如果为Azure Devops服务器启用IIS基本身份验证,则PAT无效。请参阅启用IIS基本身份验证使使用个人访问令牌无效。
正如上面文档中所述,您需要向Git请求添加一个额外的头,该头包含一个base 64编码“user:PAT”:
git-chttp。extraheader='Authorization:Basic[user:PAT]的base 64编码'ls remotehttp://tfsserver:8080/tfs/DefaultCollection/_git/projectName
您可以使用下面的权力脚本对用户名和PAT进行Base64编码:
$MyPat = 'yourPAT'
$B64Pat = [Convert]::ToBase64String([System.Text.Encoding]::UTF8.GetBytes("user:$MyPat"))
或者用C#代码:
Convert.ToBase64String(
System.Text.ASCIIEncoding.ASCII.GetBytes(
string.Format("{0}:{1}", "user", personalaccesstoken))));
有关详细信息,请参阅此处的文档。
您可以尝试使用用户名和密码而不是PAT作为身份验证:
git clone https://{username}:{password}@{DEVOPSSERVERDOMAIN}/{TEAMPROJECT}/_git/{PROJECT}
#if your password or username contain @ replace it with %40
据我所知,您应该尝试没有用户名的克隆。
https://github.com/MicrosoftDocs/azure-devops-docs/issues/2455
https://<PAT>@mydomain.visualstudio.com/myproject/_git/myrepo
尝试访问私有公司 tfs。他们通过向Windows用户(域\登录)授予适当的权限来授予我访问权限。 我可以很好地访问tfs的web界面,浏览存储库和其他东西。 但当我试图逃跑 它失败了 尝试与家用PC没有公司网络的东西 - 同样的错误。 在PowerShell、Git Bash、Clone via VisualStudio中尝试过-同样的错误。 SSH关闭(给定请求超时)。 网络 企业助手试图帮助
每次我尝试用Pycharm在GitHub中推送一个存储库时,它都会失败。 在Settings->Version Control->Git中,Git可执行文件的路径是用完整路径设置的,SSH可执行文件:Buil-in Win 7上的Pycharm版本3.1.1 Git版本1.8.4.msysgit.0。
我第一次将应用程序部署到数字海洋,遇到了两个(可能更多)问题。 1) 在将添加到Gemfile后,我无法。我发现kgio与windows不兼容。我必须要Gemfile吗。当我通过capistrano部署时是否存在锁?我如何解决这个问题? 2)我在服务器上的postgreql上遇到身份验证问题。 我运行了这些命令(以及其他一些命令): 每次我限制部署时,我都会收到这个错误: 我尝试输入一个我知道不存
当我创建一个新用户,但它无法登录数据库时。 我这样做: 然后创建一个数据库: 之后,我尝试登录,但出现错误: 我试图解决这个问题,但失败了。
运行时,会收到以下错误消息: 致命:用户"rails_dev"的身份验证失败 无法为{"适配器"=创建数据库 PG::ConnectionBad:FATAL:Ident身份验证用户“rails_dev” /home/whitehat/.rvm/gems/ruby-2.4.0/gems/PG-0.21.0/lib/PG.rb:56:in'initialize' /home/whitehat/.rvm
我在Windows 10 Pro x64上使用GitLab Community Edition 9.1.3 2E4E522。使用Git客户端。