Azure devops-git回购同步

Azure devops-git回购同步,git,azure-devops,azure-pipelines,azure-powershell,Git,Azure Devops,Azure Pipelines,Azure Powershell,我在azure devops中创建了一个管道,按以下顺序添加了三个任务: 1命令行任务 2 Powershell任务 3命令行任务 任务1 git config --global user.email "xxx@xx.com" git config --global user.name "xxxx" cd $(Build.SourcesDirectory) git init 任务2 Powershell任务 任务3 git add filename.csv git commit -m "csv

我在azure devops中创建了一个管道,按以下顺序添加了三个任务: 1命令行任务 2 Powershell任务 3命令行任务

任务1

git config --global user.email "xxx@xx.com"
git config --global user.name "xxxx"
cd $(Build.SourcesDirectory)
git init
任务2 Powershell任务

任务3

git add filename.csv
git commit -m "csv file update"
git remote rm origin
git remote add origin  https://OrgName@dev.azure.com/OrgName/ProjectName/_git/RepoName
git push -u origin HEAD:master
我在另一个订阅中使用了这个解决方案,没有问题。我将解决方案移至第二个订阅,但我仍然面临问题:致命:无法读取的密码https://OrgName@dev.azure.com/OrgName/ProjectName//u git/RepoName:终端提示已禁用[error]Cmd.exe已退出,代码为128

我已使用此配置了回购
任务3有问题。任务1和任务2已成功完成。

请尝试使用下面的推送脚本,git命令中的PAT令牌将该脚本用于授权操作:

git push https://{PAT}@dev.azure.com/{org name}/{project name}/_git/{repos name} master
使用此命令并替换原来的git remote add origin和git push

更新:

为了让您更清楚地了解如何将其应用到任务中,我复制了它

注意:不需要对原始的第一个命令行任务和Powershell任务进行任何更改,以下更改仅在第二个命令行任务中进行:


当我们在git命令中应用令牌时,需要更改整个脚本。请在第二个命令行任务中全部替换上述脚本。

我将解决方案移动到第二个订阅。您是说您将这些管道任务放在其他组织下的管道中吗?您好,是的,将这些管道任务放在其他组织下的管道中,在以前的组织中没有问题,迁移后,我面临上述问题。在下一个组织中,是否希望它将文件推送到另一个组织?您希望git推送到的组织与当前管道所在的组织相同吗?嗨@Merlin Liang,我想将文件推送到位于同一组织的repo中。相同的管道。@tester81,提示此错误消息很奇怪。以下格式是否有助于解决错误?由于错误说明无法读取密码,我认为攻击命令中的令牌可能满足密码要求。我更新了git代码:git add filename.csv git commit-m csv file update git remote rm origin git remote add originhttps://PAT@dev.azure.com/OrgName/ProjectName//u git/RepoName git push-u origin HEAD:master和我得到的错误如下:以下项目不存在:项目名称。验证项目的名称是否正确,以及该项目是否存在于指定的Azure DevOps服务器上。致命:未找到存储库,我使用了此链接并能够打开我的存储库。@tester81,结果如何?现在有任何错误提示吗?正如我提到的,我得到的错误是:以下项目不存在:ProjectName。验证项目的名称是否正确,以及该项目是否存在于指定的Azure DevOps服务器上。致命:存储库'PAT@dev.azure.com/找不到OrgName/ProjectName/\u git/RepoName',我使用了此链接并能够打开我的存储库。@tester81。我编写了一个完整的脚本,用token执行gitpush命令。请再试一次,然后让我知道它是否适合您。它在我这边成功了。仍然面临错误,消息远程:TFxxxx:以下项目不存在:ProjectName。验证项目的名称是否正确,以及该项目是否存在于指定的Azure DevOps服务器上。我觉得项目名称有点问题,我的项目名称包含两个单词和一个空格,比如Word1 Word2,在这一行中,git push https://{token}@dev.azure.com/{org name}/{project name}/_git/{repos}master我使用的是像Word1%20Word2这样的项目名称,我可以在浏览器中打开链接,但我想git无法处理这个问题。
git checkout $(Build.SourceBranchName)
git add .
git commit -m "aaaa"
git push https://{token}@dev.azure.com/{org name}/{project name}/_git/{repos} master