如何在Github Actions中获取`main`分支的短Github SHA?

tzdcorbm  于 2023-05-05  发布在  Git
关注(0)|答案(1)|浏览(238)

我想在我的Github操作工作流中为主分支获取一个简短的Git SHA。
我提到了multiple answers,但他们的SHA提交(无论是GITHUB环境还是git命令)都是触发工作流的分支。我想要Github主分支的最后一个短提交。我该怎么做?

wribegjk

wribegjk1#

如果你在pull请求上触发action,那么github.event.pull_request.base.sha是PR的目标分支的HEAD的当前SHA。您可以使用该变量作为完整的SHA,或者通过将其传递给git rev-parse来获得缩短的SHA:

git rev-parse --short ${{ github.event.pull_request.base.sha }}

如果你没有在pull request上触发,或者你想避免有人可能会对另一个分支打开PR,那么你需要做一些更复杂的事情:

git ls-remote -q | grep refs/heads/main$ | awk '{print $1}' | xargs git rev-parse --short

(use如果默认分支名为master,则为refs/heads/master$;如果默认分支名为production,则为refs/heads/production$,等等)

相关问题