Claude code에서 commit 명령을 간단하게 실행하는 방법을 공유합니다.

아래 내용을 ~/.claude-code/commands/ 디렉터리에 commit.md 파일로 저장하세요.

---
description: "현재까지의 작업을 논리적 단위별로 나눠서 커밋"
---

현재까지 작업한 내용을 작업 단위별로 나눠서 커밋해주세요.

## 수행 단계

### 1. **현재 변경사항 확인**
- `git status`로 staged/unstaged 변경사항 확인
- `git diff`로 각 파일의 변경 내용 파악
- `git diff --cached`로 스테이징된 변경사항 확인

### 2. **작업을 논리적 단위로 분류**
- 관련된 변경사항끼리 그룹화
- 각 그룹이 하나의 완성된 기능/수정 단위가 되도록 구성
- 예: 기능 추가, 버그 수정, 리팩토링, 문서 수정 등으로 분류

### 3. **각 단위별로 순차 커밋**
- 가장 핵심적인 변경부터 시작
- 각 작업 단위별로:
  - `git add [관련 파일들]` - 해당 단위의 파일만 추가
  - 컨벤션에 맞는 커밋 메시지 작성
  - 메시지 형식: `[타입] 제목`
    - feat: 새로운 기능
    - fix: 버그 수정
    - docs: 문서 수정
    - refactor: 코드 리팩토링
    - style: 스타일 변경 (공백, 세미콜론 등)
    - test: 테스트 추가/수정
    - chore: 빌드, 의존성 업데이트 등

### 4. **커밋 완료 확인**
- `git log --oneline -10`으로 커밋 이력 확인
- `git status`로 남은 변경사항 확인 (모두 커밋되어야 함)

## 주의사항
- 각 커밋은 독립적으로 의미가 있어야 함
- 너무 큰 단위도, 너무 작은 단위도 피하기
- 커밋 메시지는 명확하고 간결하게
- 미스테이징된 파일이 없는지 확인하기
- .env, credentials 등 민감한 파일은 커밋하지 않음

이제 Claude Code에서 /commit 명령을 실행하면, 위 가이드에 따라 변경사항을 논리적 단위로 나눠서 커밋할 수 있습니다.

그리고, 굿이 claude 명령어를 매번 입력하지 않아도 되도록 단축 프롬프트를 설정할 수 있습니다. 예를 들어, 터미널에서 아래와 같이 입력하면 됩니다.

claude -p "/commit"

추가로 commit and push 명령도 만들어 두면, 커밋 후 바로 원격 저장소에 푸시하는 작업도 자동화할 수 있습니다.

---
description: "현재까지의 작업을 논리적 단위별로 나눠서 커밋과 푸시"
---

현재까지 작업한 내용을 작업 단위별로 나눠서 커밋해주세요.

## 수행 단계

### 1. **현재 변경사항 확인**
- `git status`로 staged/unstaged 변경사항 확인
- `git diff`로 각 파일의 변경 내용 파악
- `git diff --cached`로 스테이징된 변경사항 확인

### 2. **작업을 논리적 단위로 분류**
- 관련된 변경사항끼리 그룹화
- 각 그룹이 하나의 완성된 기능/수정 단위가 되도록 구성
- 예: 기능 추가, 버그 수정, 리팩토링, 문서 수정 등으로 분류

### 3. **각 단위별로 순차 커밋**
- 가장 핵심적인 변경부터 시작
- 각 작업 단위별로:
  - `git add [관련 파일들]` - 해당 단위의 파일만 추가
  - 컨벤션에 맞는 커밋 메시지 작성
  - 메시지 형식: `[타입] 제목`
    - feat: 새로운 기능
    - fix: 버그 수정
    - docs: 문서 수정
    - refactor: 코드 리팩토링
    - style: 스타일 변경 (공백, 세미콜론 등)
    - test: 테스트 추가/수정
    - chore: 빌드, 의존성 업데이트 등

### 4. **커밋 완료 확인**
- `git log --oneline -10`으로 커밋 이력 확인
- `git status`로 남은 변경사항 확인 (모두 커밋되어야 함)

### 5. **원격 저장소에 푸시**
- `git push`로 원격 저장소에 푸시
- 푸시 실패 시 원인 파악 및 해결 (충돌, 권한 등)
- 새 브랜치인 경우 `git push -u origin [branch-name]` 사용

## 주의사항
- 각 커밋은 독립적으로 의미가 있어야 함
- 너무 큰 단위도, 너무 작은 단위도 피하기
- 커밋 메시지는 명확하고 간결하게
- 미스테이징된 파일이 없는지 확인하기
- .env, credentials 등 민감한 파일은 커밋하지 않음
- 푸시 전 원격 브랜치와의 충돌 여부 확인