johngrib님 github page의 save-images.sh를 가져와 내 블로그에 맞게 적용해보고자 한다(항상 johngrib님께 감사하다).


먼저, save-images.sh는 github의 issue 등에 업로드되어 있는 이미지의 URL이 markdown에 작성되어 있으면 이미지를 다운로드 받고 markdown의 URL을 local의 path로 치환해주는 script이다. commit 수행 전에 실행시켜야 하기 때문에 pre-commit에서 해당 script를 호출하도록 한다.

# pre-commit
./tool/save-images.sh


pre-commit은 .git/hooks/ 하위에 위치해야 해서 해당 위치에 두고 테스트를 해봤는데, 다음과 같은 메시지과 함께 pre-commit이 수행되지 않았다.

힌트: '.git/hooks/pre-commit' 후크가 실행 가능하도록 설정되지 않아서, 무시됩니다.


.git/hooks 하위에는 기본적으로 pre-commit.sample 파일이 있는데, pre-commit을 적용시키기 위해서는 pre-commit.sample의 이름을 pre-commit으로 변경해야 한다고 한다. 나는 pre-commit.sample을 그대로 둔 채로 pre-commit 파일을 다시 생성해서 안 되는 건가 싶어 pre-commit.sample에 코드를 옯긴 후 pre-commit.sample의 이름을 변경해주었다.
생성한 pre-commit을 그대로 두면서 pre-commit.sample을 삭제하는 방식을 택하지 않고 위와 같은 방식을 택한 이유는 pre-commit.sample의 파일 권한을 그대로 가져가기 위함이었다.


다시 commit을 시도해보니 다음과 같은 에러가 발생하였다.


그래서 save-images.sh에 실행 권한을 부여하였다.


다시 commit을 해보니 다음과 같은 에러가 발생했다.


ag(searching tool)가 없어서 발생한 에러라서 설치해줬다.

brew install the_silver_searcher


다시 commit을 했더니 다음과 같이 성공했다.