Claude Code로 의미 있는 커밋 메시지를 자동 생성하고, PR 초안을 작성하며, GitHub Actions CI 파이프라인과 연동하는 완전 자동화 워크플로우.
Git 커밋·PR 자동 파이프라인 — 코딩 이후를 자동으로
코드를 완성한 후 커밋 메시지를 작성하고, PR 설명을 쓰고, 리뷰어를 지정하고, CI를 확인하는 과정은 반복적이면서도 중요합니다. 커밋 메시지 품질이 낮으면 git 이력이 의미 없어지고, PR 설명이 부실하면 리뷰가 느려집니다. Claude Code는 이 과정 전체를 자동화하되, 사람이 최종 승인하는 구조로 설계할 수 있습니다.
의미 있는 커밋 메시지 자동 생성
claude -p "
현재 git diff --staged 를 분석해서 커밋 메시지를 작성해줘.
규칙:
- Conventional Commits 형식 (feat/fix/refactor/style/docs/chore)
- 제목: 50자 이내, 명령형, 현재형 (Added X 대신 Add X)
- 본문: 무엇을 왜 변경했는지 (어떻게는 코드 자체에 있음)
- 관련 이슈 번호 있으면 Closes #N 푸터 추가
커밋 메시지를 출력만 해줘 (git commit 실행하지 말 것)
메시지 확인 후 내가 직접 실행할게.
" \
--allowedTools "Bash(git diff --staged),Bash(git log --oneline -5)"
커밋 자체는 사람이 실행합니다. Claude는 메시지 초안 작성에 집중하고, 개발자가 검토 후 확정합니다. 이 워크플로우가 완전 자동 커밋보다 안전하면서도 충분히 효율적입니다.
PR 초안 자동 생성
claude -p "
현재 브랜치의 변경사항을 기반으로 GitHub PR 초안을 작성해줘.
분석할 정보:
- git log --oneline main..HEAD (커밋 이력)
- git diff main...HEAD --stat (변경 파일 통계)
- git diff main...HEAD (실제 변경 내용)
PR 본문 구조:
## 변경 사항 요약
(비개발자도 이해할 수 있는 1~3문장)
## 상세 변경 내용
- 새 기능/수정 항목 bullet list
## 테스트 방법
- 검증 방법 체크리스트
## 스크린샷 (해당 시)
(UI 변경 있으면 섹션 추가)
## 주의사항
(DB 마이그레이션, 환경변수 추가 등)
gh pr create 명령어 형태로 출력해줘 (실행은 내가 할게).
" \
--allowedTools "Bash(git log*),Bash(git diff*),Bash(git branch*)"
전체 자동 파이프라인 스크립트
#!/bin/bash
# deploy-pipeline.sh — 기능 완성 후 실행하는 자동 파이프라인
set -e # 오류 시 즉시 종료
echo "🔍 1단계: 코드 품질 검사..."
claude -p "타입 오류와 린트 오류를 모두 수정해줘. 빌드까지 통과 확인." \
--allowedTools "Read,Edit,Bash(npx tsc*),Bash(npm run lint*),Bash(npm run build*)"
echo "📝 2단계: 커밋 메시지 생성..."
COMMIT_MSG=$(claude -p "git diff --staged 분석해서 커밋 메시지만 출력 (다른 말 없이 메시지만)" \
--allowedTools "Bash(git diff --staged)" \
--output-format text)
echo "생성된 커밋 메시지:"
echo "$COMMIT_MSG"
echo ""
read -p "이 메시지로 커밋할까요? (y/N): " confirm
if [ "$confirm" = "y" ]; then
git commit -m "$COMMIT_MSG"
echo "✅ 커밋 완료"
else
echo "커밋 취소됨. 직접 수정하세요."
exit 0
fi
echo "🚀 3단계: PR 초안 생성..."
PR_BODY=$(claude -p "git log --oneline main..HEAD 기반으로 PR 본문 마크다운 작성 (본문만 출력)" \
--allowedTools "Bash(git log*),Bash(git diff*)" \
--output-format text)
BRANCH=$(git branch --show-current)
echo "PR 본문 미리보기 저장됨: pr-draft.md"
echo "$PR_BODY" > pr-draft.md
read -p "PR을 생성할까요? (y/N): " confirm_pr
if [ "$confirm_pr" = "y" ]; then
git push origin "$BRANCH"
gh pr create --title "[자동] $BRANCH" --body "$PR_BODY" --draft
echo "✅ Draft PR 생성 완료"
fi
GitHub Actions + Claude 연동
# .github/workflows/claude-review.yml
name: Claude Code Review
on:
pull_request:
types: [opened, synchronize]
jobs:
review:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
with:
fetch-depth: 0
- name: Claude 코드 리뷰
env:
ANTHROPIC_API_KEY: ${{ secrets.ANTHROPIC_API_KEY }}
run: |
DIFF=$(git diff origin/main...HEAD)
REVIEW=$(claude -p "
다음 PR diff를 리뷰해줘.
보안 취약점, 타입 오류, 성능 문제, 코딩 규칙 위반 중심으로.
문제 없으면 '✅ 리뷰 통과', 문제 있으면 파일:줄번호 형식으로 목록.
diff:
$DIFF
" --output-format text)
echo "$REVIEW" >> $GITHUB_STEP_SUMMARY
- name: PR 코멘트 추가
uses: actions/github-script@v7
with:
script: |
const review = process.env.REVIEW_RESULT
github.rest.issues.createComment({
issue_number: context.issue.number,
owner: context.repo.owner,
repo: context.repo.repo,
body: `## 🤖 Claude Code Review\n\n${review}`
})
커밋 이력 자동 정리 (CHANGELOG)
claude -p "
git log --since='2026-06-01' --oneline --format='%h %s %an' 를 분석해서
CHANGELOG.md 항목을 작성해줘.
형식:
## 2026년 6월
### 새 기능
- 학습 자료실 시리즈/강의 시스템 구현
### 개선
- 기업 대시보드 최종합격 집계 로직 정교화
### 버그 수정
- 알림 시스템 중복 체크 로직 제거
CHANGELOG.md 최상단에 추가해줘.
" \
--allowedTools "Bash(git log*),Read,Edit"
커밋 자동화의 핵심은 "자동화가 대신 결정하는 것"이 아니라 "자동화가 초안을 만들고 사람이 승인하는 것"입니다. 커밋 메시지 자동 생성 후 사람이 확인하고 실행하는 구조가 가장 균형 잡힌 접근입니다. 완전 자동 커밋은 잘못된 메시지가 영구 이력에 남는 위험이 있습니다.
핵심 정리
- 커밋 메시지 생성은 Claude + 사람 승인 구조 — git diff --staged 분석 → 초안 출력 → 개발자 확인 후 직접 실행
- PR 초안 자동 생성으로 리뷰 컨텍스트 제공 — 변경 요약·테스트 방법·주의사항 표준 구조로 리뷰 속도 향상
- GitHub Actions에 Claude 연동 가능 — PR 오픈 시 자동 코드 리뷰 코멘트, 보안·타입·성능 문제 즉시 감지
관련 검색어 · 클로드 코드 · Claude Code · 깃 커밋 자동화 · PR 초안 자동 생성 · GitHub Actions Claude · CI/CD 자동화