如何在Azure DevOps管道中获得主分支和请求请求之间的区别?

苏拉斯

我正在尝试在2个分支之间获取新的/更改的PowerShell文件。从主要方面,我正在Azure DevOps管道中通过以下方式执行拉取请求:

$changedFiles = (git diff --cached --name-only | Where-Object { $_ -like "*.ps1" })

但是在命令在本地运行时我什么也没得到。我认为它需要更改管道中的位置,但是在尝试找到一些存储库文件后我找不到它。它应该在执行文件之前下载文件吗?其他一些代码片段:

预先提交

Get-Location # returns D:\a\1\s
Get-ChildItem # returns nothing
gci -recurse -filter "test.ps1" # returns nothing
$changedFiles = (git diff --cached --name-only | Where-Object { $_ -like "*.ps1" })
$exitCode = 0
$changedFiles # returns none

if ($changedFiles.length -eq 0) {
    exit $exitCode
}
else{
   ...
}

天蓝色管道

trigger:
- main

jobs:
 - job: RunScript
   pool:
     vmImage: windows-2019
   steps:
     - powershell:
         .\pre-commit.ps1
勒格

git diff --cached将仅显示索引(使用暂存的文件git add)和当前提交之间的差异
尽管它可能会在您的工作副本中显示修改(在您的工作计算机上,您可能处于在提交文件之前修改并暂存文件的状态),但它通常无法在CI管道中运行的副本中工作(通常,例如,CI管道中的动作不涉及修改代码文件和运行git add


如果要列出在commiteacf11之间修改的文件eacf22,请删除该--cached选项并简单地运行:

git diff --name-only eacf11 eacf22

您还可以通过标签名称或分支名称引用提交,也可以HEAD用来表示“当前提交”:

git diff --name-only master HEAD
git diff --name-only v1.2.1 eacf22

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

如何在 Azure Devops 中查找搁置集和分支之间的冲突

如何在azure devops中触发对请求的构建和测试?

Azure DevOps中的构建管道和发布管道之间有什么区别?

Azure devops 管道和分支

Azure DevOps:如何在完成请求请求后触发发布?

作为Azure Devops中的拉取请求分支策略的一部分运行顺序生成管道

如何在Azure DevOps中自动触发基于请求请求的构建?

如何在Azure管道中通过分支AND标记触发?

如何在Azure Devops中设置默认分支策略

如何在Azure DevOps中更改分支名称

如何在Azure DevOps Yaml中设置默认分支?

如何在Azure DevOps中限制对管道的访问

如何在Azure DevOps管道中安装Java?

如何在Azure DevOps管道中管理构建工件?

如何在 Azure Devops 中的发布管道上触发 STDERR

如何在Azure DevOps发布管道中建立连接帐户

如何在Azure DevOps中的拉取请求中显示生成状态

如何在Azure DevOps中永久删除放弃的拉取请求?

如何在Azure DevOps构建管道中区分分支触发器和计划触发器

在Azure DevOps中完成发布后,如何创建请求请求?

如何在 Azure 管道中编辑 appsettings?

如何在 Azure DevOps 中复制文件?

如何在Azure DevOps中创建板?

Azure Devops 中的多分支管道

如何在Azure Web角色中防止重复的HTTP请求

Azure YAML 管道:如何在 Azure DevOps 中引用另一个项目中的项目和存储库

如何在Azure DevOps构建管道中排除一个分支

如何在 Azure Devops 发布管道中读取多行 Azure Key Vault 机密

如何在Azure Devops发布管道中通过PowerShell任务创建Azure资源?