第10講

Git 커밋·PR 자동 생성 파이프라인

4 閲覧 3

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 자동화

채용정보
공지사항
인사이트
MY