当前位置: 首页 > article >正文

Azure pipeline 通过git命令修改文件

步骤及解释

设置git用户名

git config --global user.email "useremail"
git config --global user.name "username"

获取branch

$branch = "$(Build.SourceBranch)" -replace "refs/heads/"

"$(Build.SourceBranch)":这是一个环境变量,它包含了触发当前构建的分支的完整引用路径。例如,如果构建是由 main 分支触发的,那么这个变量的值可能是 refs/heads/main

-replace "refs/heads/":这是PowerShell中的一个操作符,用于替换字符串中的指定模式。在这里,它用于从 $(Build.SourceBranch) 的值中移除 refs/heads/ 部分,只留下分支的名称。

示例

假设 $(Build.SourceBranch) 的值是 refs/heads/feature/new-feature,那么执行这行命令后:

  • 原始值refs/heads/feature/new-feature
  • 处理后的值feature/new-feature

修改并push

git checkout -b $branch
         
Write-Host "Adding changes to staging area..."
git -C "$(Build.SourcesDirectory)" add **/package.json
Write-Host "Committing changes..."
git -C "$(Build.SourcesDirectory)" commit -m "your change"
Write-Host "Pushing changes to remote repository..."
git -C "$(Build.SourcesDirectory)" -c http.extraheader="AUTHORIZATION: bearer $(System.AccessToken)" push --set-upstream origin $branch 
Write-Host "Done."

整体

- powershell: |
          git config --global user.email "email"
          git config --global user.name "name"
          $branch = "$(Build.SourceBranch)" -replace "refs/heads/"
          Write-Host "this is the $branch"
          git checkout -b $branch
         
                          
          Write-Host "Adding changes to staging area..."
          git -C "$(Build.SourcesDirectory)" add **/package.json
          Write-Host "Committing changes..."
          git -C "$(Build.SourcesDirectory)" commit -m "your changes"
          Write-Host "Pushing changes to remote repository..."
          git -C "$(Build.SourcesDirectory)" -c http.extraheader="AUTHORIZATION: bearer $(System.AccessToken)" push --set-upstream origin $branch
          Write-Host "Done."
        workingDirectory: "$(Build.SourcesDirectory)"
        failOnStderr: false
        displayName: "Update Version number to Repo"

git -C 在某路径下执行

git -c 设置变量


http://www.kler.cn/a/399229.html

相关文章:

  • C语言项⽬实践-贪吃蛇
  • Java基础-Java中的常用类(上)
  • java小练习
  • MySQL技巧之跨服务器数据查询:基础篇-删除语句如何写
  • 大三学生实习面试经历(1)
  • candence : 通孔焊盘、插装器件封装绘制
  • 记录配置ubuntu18.04下运行ORBSLAM3的ros接口的过程及执行单目imu模式遇到的问题(详细说明防止忘记)
  • 【Python刷题】最少拐弯路线问题
  • 实战:深入探讨 MySQL 和 SQL Server 全文索引的使用及其弊端
  • 从北美火到中国,大数据洞察品牌“STANLEY”的突围之路
  • Java基础-I/O流
  • 了解什么是Python(简介)
  • ES6笔记
  • 38配置管理工具(如Ansible、Puppet、Chef)
  • ssm114基于SSM框架的网上拍卖系统的设计与实现+vue(论文+源码)_kaic
  • 两种鼠标hover切换对应图片方法对比
  • Linux下编译MFEM
  • 基于YOLOv8深度学习的智慧课堂学生专注度检测系统(PyQt5界面+数据集+训练代码)
  • Prometheus面试内容整理-Alertmanager
  • C++: string(二)
  • ReactPress与WordPress:一场内容管理系统的较量
  • 在 MySQL 8.0 中,SSL 解密失败,在使用 SSL 加密连接时出现了问题
  • 【C++】引用(reference)
  • Linux core转储文件排查及命令整理
  • MySQL数据库备份与恢复完全指南
  • 使用 Go 实现将任何网页转化为 PDF