가을별 블로그

git notes

git notes는 git object에 노트를 남길 수 있는 명령어이다. (커밋메시지를 남길 때와 달리) 커밋 자체를 수정하지 않아도 자유롭게 남기고 지울 수 있으며, 커밋 해시도 그대로 유지된다.

커밋에 노트를 추가할 땐 git notes add <해시>1 를 명령하고 이후 에디터가 나타나면 적고싶은 내용을 적으면 된다. 또는 -m 옵션으로 명령줄에서 곧장 내용을 입력할 수도 있다. 입력하고나면 작성한 노트가 커밋로그에선 이렇게 나타난다.

commit 3433d949a087270d0b98240eb0c9cc3791d2286f
Author: Gaeulbyul 
Date:   Wed Aug 31 20:52:09 2022 +0900

    webpack => esbuild

Notes:
    webpack보다 esbuild가 더 빠르니까!

입력한 노트는 git notes edit 명령어로 편집을, git notes remove로 지울 수 있다.

git notes로 작성한 노트는 기본적으로 refs/notes/commits라는 별개의 공간에 저장되며, git log -p notes/commits를 하면 노트를 작성했던 기록이 커밋로그처럼 나타난다.

참, 이렇게 작성한 노트를 remote에 오고가게 하려면 config를 수정해야 한다. (fetch = +refs/notes/*:refs/notes/* 처럼)

참고링크:


  1. 해시 생략시 HEAD에 작성된다.

#git