새소식

ETC/오류 해결 - 2023.03.13

Github Actions에서 git diff로 이전 Commit 확인하기

  • -

문제 상황

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 설정해주기!

참고

 

How to run git diff in github actions

I am getting this: Command failed: git diff --name-only HEAD^..HEAD fatal: ambiguous argument 'HEAD^..HEAD': unknown revision or path not in the working tree. I want to run git diff --name-only HE...

stackoverflow.com

Contents

포스팅 주소를 복사했습니다

이 글이 도움이 되었다면 공감 부탁드립니다.