簡體   English   中英

Git Github 動作中的歷史

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM