콘텐츠로 건너뛰기

Diff → Conventional Commit

git diff를 붙여넣으면 변경된 파일에서 type/scope를 자동으로 추론하여 커밋 메시지 템플릿을 생성합니다. Conventional Commits 준수, subject 50문자 검증, BREAKING CHANGE 감지, AI에 전달할 프롬프트도 생성합니다.

완전 무료 가입 불필요 브라우저 완결 5 개 언어 다크 모드
프롬프트 템플릿은: 📚 Prompt Library →
📋 diff 캡처 방법
# 모든 변경
git diff

# 스테이지된 것
git diff --cached

# 특정 커밋
git show abc123

# 파일명만 (너무 클 때)
git diff --stat
변경 파일
0
추가/삭제
+0 / -0
추정 type
-
추정 scope
-
0 문자 — 50/72

📖 자주 걸리는 지점

git diff 의 출력을 붙여 넣으면 변경 파일과 증감 행에서 type 과 scope 을 추측해 Conventional Commits 형식의 커밋 메시지 견본과 AI 에 넘길 프롬프트를 조립합니다. 처리는 브라우저 안에서 끝납니다. 추측할 수 있는 것은 무엇을 바꿨는가까지이고, 왜 바꿨는가는 diff 어디에도 쓰여 있지 않습니다 — 그리고 나중에 읽는 사람이 알고 싶은 것은 언제나 후자 쪽입니다.

사례 무슨 일이 일어나는가 어떻게 하면 되는가
추측된 type 이 실제와 어긋난다 type 은 파일의 경로와 확장자에서 추측하므로 같은 곳의 변경이라도 의도가 다르면 맞지 않습니다. 테스트 파일을 고치면 test 라고 나오지만, 그것이 버그 수정에 따른 기댓값 갱신이라면 fix 가 옳은 경우가 있습니다. docschore, refactorfix 의 경계도 diff 로는 판별할 수 없습니다. 추측은 출발점으로 쓰고 반드시 스스로 덮어쓰세요. 헷갈릴 때의 기준은 이용자 관점에서 동작이 바뀌었는가입니다. 바뀌었다면 featfix, 바뀌지 않았다면 refactor / chore / test / docs. 이 기준은 릴리스 노트를 자동 생성할 때 그대로 효과를 냅니다 — 이용자에게 보여야 할 변경만 위의 두 가지에 들어가므로 나중에 손으로 선별할 필요가 없어집니다.
한 커밋에 여러 변경이 섞인다 추측된 scope 이 (*) 나 여러 개가 될 때는 커밋의 입도가 너무 크다는 신호입니다. 버그 수정과 리팩터링과 의존성 갱신이 하나에 들어 있으면 나중에 git revert 하고 싶어도 되돌리고 싶지 않은 부분까지 돌아갑니다. git bisect 로 원인을 좁힐 때도 걸린 커밋이 클수록 좁혀지지 않습니다. git add -p헝크 단위로 나누어 스테이지하고 의미별로 커밋하세요. 이미 섞어 쓴 작업 트리에서도 이 방법으로 분할할 수 있습니다. 기준은 커밋 하나를 한 문장으로 설명할 수 있는가이며, 설명에 그리고가 들어가면 나누는 편이 좋다는 신호입니다. 나눈 커밋의 diff 를 이 화면에 개별로 붙이면 각각의 견본을 얻을 수 있습니다.
AI 에 diff 를 넘겼더니 요약만 돌아온다 diff 만 넘기면 모델에게는 코드의 변화밖에 보이지 않습니다. 결과적으로 무엇을 추가했습니다, 무엇을 수정했습니다처럼 diff 를 읽으면 알 수 있는 것을 바꿔 말한 메시지가 돌아옵니다. 커밋 메시지의 가치는 diff 를 읽어도 알 수 없는 것을 쓰는 데 있으므로 이래서는 쓰는 의미가 없습니다. 생성된 프롬프트에 이 변경을 한 이유를 1~2줄, 자신의 말로 덧붙여 넘기세요. 타임아웃 보고가 월 3건 있었기 때문에, 사양 변경으로 세율이 바뀌었기 때문에 같은 외부의 사실이 들어가는 것만으로 돌아오는 본문의 질이 달라집니다. 더해서 관련 이슈 번호를 적어 두면 반년 뒤에 읽는 사람이 경위까지 따라갈 수 있습니다. 템플릿 참고에는 프롬프트 라이브러리도 쓸 수 있습니다.

Conventional Commits 를 따르는 실리는 커밋 메시지에서 CHANGELOG 와 버전 번호를 자동 생성할 수 있다는 점에 있습니다. fix 는 패치, feat 는 마이너, BREAKING CHANGE 를 포함한 것은 메이저로 semantic-release 등이 기계적으로 정해 줍니다. 반대로 말하면 규약을 지키지 않은 커밋이 하나만 섞여도 그 릴리스의 자동화는 신뢰할 수 없게 됩니다. 도입한다면 commitlint 를 pre-commit 훅에 넣어 서식을 기계에 지키게 하세요 — 사람의 의지만으로 계속 지켜진 규약은 본 적이 없습니다.

📖 사용법

  1. 1
    diff 복사
    `git diff` 출력
  2. 2
    붙여넣고 추정
    자동 추정
  3. 3
    복사 후 커밋
    복사 → commit

❓ 자주 묻는 질문

type 추정?
경로/확장자에서 추정
AI 필수?
템플릿만으로 충분
🐛 이 도구에서 문제가 발생했나요?

무료 · 가입 불필요. 재현 절차만이라도 도움이 됩니다. 보고는 운영자에게 직접 전달되어 개선에 사용됩니다.

※ 재현을 위해 브라우저 정보 (UA / 화면 / 언어 / URL) 가 자동 전송됩니다