언제 쓰나
코드는 다 짰는데 PR 본문에서 손이 멈출 때, 또는 급하다는 이유로 "fix bug" 한 줄만 남기게 될 때 씁니다. 배경과 리뷰 포인트가 갖춰진 PR은 리뷰 왕복을 줄이고, 반년 뒤 git log 로 이유를 되짚을 때도 남습니다.
사용법
{convention}에 팀의 커밋 규칙을 적습니다. (예:Conventional Commits,[JIRA-123] 접두어,없음 — 자유 형식){diff}에git diff main...HEAD결과를 붙여 넣습니다. diff가 너무 길면 핵심 파일만 넣고 나머지는 "그 외 테스트 파일 5건 추가"처럼 요약해 적어도 됩니다.- 출력에 "작성자 확인 필요"가 남아 있으면 그 부분만 직접 채웁니다. 대개 배경과 테스트 항목입니다.
사용 예시
입력
커밋 규칙: Conventional Commits
변경 diff:
--- a/src/api/orders.ts
+++ b/src/api/orders.ts
@@
- const conn = await pool.connect();
- const rows = await conn.query(sql);
- return rows;
+ const conn = await pool.connect();
+ try {
+ return await conn.query(sql);
+ } finally {
+ conn.release();
+ }
(그 외: pool 획득 타임아웃 30s → 5s, 관련 테스트 2건 추가)
출력 (요약)
## 배경
주문 조회 경로에서 예외 발생 시 커넥션이 반환되지 않아 풀이 포화되는 문제가 있었습니다.
## 변경 내용
- 쿼리 실행을 try/finally 로 감싸 예외 경로에서도 커넥션을 반환합니다.
- 풀 획득 타임아웃을 30초에서 5초로 줄여 장애를 빨리 드러냅니다.
- 예외 발생 시 반환을 검증하는 테스트 2건을 추가했습니다.
## 리뷰 포인트
타임아웃 5초가 피크 트래픽에서 짧지 않은지 봐 주세요. 근거 수치는 작성자 확인 필요.
## 영향 범위 / 롤백
주문 조회 API 한정. 되돌리려면 이 커밋만 revert 하면 됩니다.
커밋 메시지
fix(orders): 예외 경로에서 DB 커넥션 반환 누락 수정
풀 포화로 인한 타임아웃의 원인이었습니다. 획득 타임아웃도 함께 축소해
장애를 조기에 노출시킵니다.
팁
- 커밋을 아직 안 나눴다면 "3단계에서 커밋 분리안을 먼저"라고 요청해 쪼갠 뒤 작성하는 편이 리뷰가 훨씬 쉬워집니다.
- 팀 PR 템플릿이 있으면
{convention}뒤에 템플릿을 통째로 붙이고 "이 템플릿 항목에 맞춰"라고 덧붙이세요. - 사내 코드가 외부로 나가면 안 되는 환경이라면 diff 대신 변경 요약 문장만 넣어도 본문 골격은 나옵니다.