git - Azure devops - git repo 同步
问题描述
我在 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
我在不同的订阅中使用了这个解决方案,没有问题。我将解决方案移至第二次订阅,但仍然面临问题:fatal: could not read Password for https://OrgName@dev.azure.com/OrgName/ProjectName/_git/RepoName: terminal prompts disabled[error]Cmd.exe exited with code 128
我已经使用这个MS 文档配置了 repo任务 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
.
更新:
为了让您更清楚如何将其应用到任务中,我将其复制到我身边。
注意:不需要对原始的第一个Command line task
和进行任何更改Powershell task
,以下更改仅在第二个 Command line task
中:
git checkout $(Build.SourceBranchName)
git add .
git commit -m "aaaa"
git push https://{token}@dev.azure.com/{org name}/{project name}/_git/{repos} master
当我们在 git 命令中应用令牌时,需要更改整个脚本。请在第二个中全部替换上面的脚本Command line task
。
推荐阅读
- sql - 如何使用 PostgreSQL 数据库中的两个字段进行完全外连接?
- python - 使用 django 制作项目时主要出现 KeyError
- php - php while 语句,除了 post id
- c# - Unity 2D中如何限制回弹角度?
- regex - 正则表达式匹配,直到找到第三次出现的字符,从字符串末尾开始计算所述字符的出现次数
- php - mysqli->insert_id 在移动到新服务器后总是在 PHP 中返回 0
- git - 如何使用 git log pickaxe 显示更改本身?
- vb.net - 跟踪窗口是最后一个焦点
- node.js - 如何将 Visual Studio 代码调试器附加到在 nginx 代理后面的 docker 机器上运行的 Node.JS 应用程序
- angular - 在 FlatMap 完成所有请求后做一个过程