문제 상황
Github Actions에서 git diff
명령어를 통해, 이전 Commit 정보 참고를 시도할 경우 다음과 같은 오류가 발생한다. 이때 입력한 branch 등의 이름이 잘못 되지 않아도, 동일한 메시지가 반복된다.
git diff origin/main..origin/main^
<<
fatal: ambiguous argument 'origin/main..origin/main^': unknown revision or path not in the working tree.
해결하기
해당 오류는 checkout
액션이 가장 최근에 발생한 1개의 커밋 히스토리만 받아오기 때문에 발생하는 문제다. Github Actions이 실행되는 서버 입장에선, 히스토리 정보가 없는데 이전 커밋을 참고하라고 하니 당연히 오류가 발생할 수 밖에 없다.
이를 해결하기 위해선, checkout
액션이 이전 커밋 정보까지 받아올 수 있도록 fetch-depth
정보를 수정해줘야 한다. 앞서 1개의 커밋만 받아온다고 했으니 fetch-depth
가 1인 상태이고, 이를 변경해주면 문제는 해결된다.
만약 모든 히스토리를 다 받아오고 싶다면 0을 입력하면 된다!
steps:
- name: Checkout repo
uses: actions/checkout@v3
with:
fetch-depth: 2 # fetch-depth 설정해주기!
참고