获取最新的文件合并名称 azure devops

Get latest file merge name azure devops

我正在为我的项目进行概念验证。其中一项要求是获取最新提交到主分支的文件的名称。我正在从 Azure 管道调用以下命令。

$a = git diff-tree --no-commit-id --name-only -r $(Build.SourceVersion)

当我直接提交文件到主分支时,它工作正常。 当我创建另一个分支并向其添加文件然后将其与主分支合并时,当我尝试相同的命令时它不会获取任何值。或者我也尝试了 git diff-tree --no-commit-id --name-only -r HEAD,但是当文件在合并过程中被添加到主分支时,这个命令不会 return 任何值。任何指点或帮助将不胜感激。

您可以从 main 分支获取最新的提交散列,无论是否合并或不使用此命令:

git log -n 1 --pretty=format:"%H" main

然后您应该能够将其插入到您现有的命令中,例如:

 git diff-tree --no-commit-id --name-only -r $(git log -n 1 --pretty=format:"%H" main)

P.S。您可以通过分别添加 --merge--no-merges 开关将其限制为合并或 non-merges。