5장 작고 설명 가능한 커밋을 만든다
좋은 커밋은 나중에 독립적으로 이해하고 되돌릴 수 있다. 기능, 포맷 전체 변경, 의존성 업데이트를 한 커밋에 섞지 않는다. 먼저 변경을 읽고 그 다음 선택한다.
printf 'n검토 완료: 1.0 릴리스 후보n' >> notes/v1.md
git diff --check
git diff
git add -p notes/v1.md
git diff --staged
git commit -m "docs: 1.0 릴리스 검토 정보 추가"
git show --stat --oneline HEAD
git diff --check는 불필요한 공백 같은 기계적 문제를 먼저 찾는다. git add -p는 hunk마다 포함 여부를 묻는다. 커밋 메시지는 “수정함”보다 변경의 의도와 범위를 적는다. 팀이 Conventional Commits를 쓰지 않는다면 docs: 형식을 억지로 도입할 필요는 없다. 중요한 것은 검색 가능한 동사와 대상이다.
잘못 빠뜨린 파일이 있고 아직 공유하지 않았다면 추가한 뒤 git commit --amend --no-edit로 마지막 커밋을 고칠 수 있다. 이미 push한 커밋을 amend하면 커밋 ID가 바뀐다. 공유 브랜치에서는 새 커밋을 만드는 편이 안전하다.