[英]Git history in a Github Action
我想在 Github 操作中記錄 git 歷史記錄。 但似乎 Action 的環境有所不同:
echo $(git log -5 --oneline)
shell: /bin/bash -e {0}
7c0faa6 合並 c245982a87ef5538d42ab905706faa08f4d67ce9 到 8a939ef1f71eaecac0ae52d625dad3e3c9fa4c16
這不是 git 日志,這些哈希值都不符合我在我的回購協議中的內容。
這是為什么?
如何從 Github Action 的環境中訪問提交歷史記錄?
您遇到這種情況是因為您的工作流程是在pull_request
事件上運行的。 在這些事件中, GITHUB_REF
是從頭分支到基礎分支的合並提交。 這樣做的目的是針對合並提交運行 CI,以在實際合並之前檢查它是否通過。
如果您不想合並提交,而是想簽出頭部提交,則必須將 HEAD 的 sha 作為ref
傳遞給簽出。 您可以按如下方式更改結帳(取自此示例)。
此外,默認情況下該簽出很淺,這意味着它只有最后一次提交。 要讀取比上次提交更多的內容,請將非零數字傳遞給fetch-depth
,或者也傳遞零,這將獲取整個歷史記錄(默認為1
):
- uses: actions/checkout@v2
with:
ref: ${{ github.event.pull_request.head.sha }}
fetch-depth: 0
有關pull_request
事件,請參閱此處的文檔。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.