Github 작업 및 짧은 SHA 해시 생성
3809 단어 github
git commit 해시는 여러 가지 이유로 중요합니다.
git commit SHA 해시는 릴리스에 태그를 지정하고 특정 시점의 코드 상태를 파악하는 데 유용합니다.
git commit SHA 해시도 매우 깁니다(예:
9c1e1a7f8f3827b11fb9eb34ab0a21afde30e19c
). 때로는 엔지니어로서 첫 번째 6자만 알면 되고 코드가 어느 시점에 있는지 알기에 충분합니다.Github는 한동안 짧은 커밋 SHA 해시를 제공했지만 더 이상 제공하지 않습니다.
Github depreciated the Short SHA environment variable in January, 2021
git commit SHA를 단축하려는 경우 어떤 것을 단축할 계획입니까?
github.event.pull_request_head.sha
for certain workflows 또는 specific run을 트리거한 이벤트에 따라 github.sha
가 필요할 수 있습니다.짧은 git 커밋 SHA 해시 생성에 대한 내 솔루션
- name: Set short git commit SHA
id: vars
run: |
calculatedSha=$(git rev-parse --short ${{ github.sha }})
echo "::set-output name=short_sha::$calculatedSha"
- name: Confirm git commit SHA output
run: echo ${{ steps.vars.outputs.short_sha }}
이것이 Stackoverflow에 있는 것과 어떻게 다른가요?
this particular Stackoverflow post에 대해 성가신 점은 언급된 솔루션 중 어느 것도 이 게시물을 작성하는 시점에서 정확하지 않다는 것입니다.
run: echo "::set-output name=sha_short::$(git rev-parse --short HEAD)"
Github Action 실행기의 컨텍스트에서 선언되는 항목
HEAD
을 정확히 모르기 때문에 작동하지 않습니다.echo "::set-output name=sha_short::$(git rev-parse --short ${{ github.event.pull_request.head.sha }})"
you can't use
""
double-quotes when referencing ${{ }}
tags 때문에 작동하지 않습니다. 그러나 ''
작은따옴표를 사용하여 이 표현식을 래핑하더라도 결과적으로 sha_short
는 git commit SHA의 문자열과 같지 않지만 다음과 같은 표현식입니다.$(git rev-parse --short ${{ github.event.pull_request.head.sha }})
따라서 나중에 실행에서
sha_short
를 사용할 때마다 전체 표현식을 다시 실행해야 합니다(원하는 것을 반환하지만 표현식을 다시 실행할 필요가 없으며 대신 저장하는 것이 좋습니다). 가치).이것이 git commit SHA 해시를 단축하는 간단한 방법을 찾으려는 다른 사람에게 도움이 되기를 바랍니다. 적어도 지금은!
Reference
이 문제에 관하여(Github 작업 및 짧은 SHA 해시 생성), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://dev.to/hectorleiva/github-actions-and-creating-a-short-sha-hash-8b7텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)