Skip to main content

Git 연동

Claude Code는 git 저장소를 직접 이해합니다. 변경 이력을 분석하고, 커밋 메시지를 제안하고, PR 설명을 작성하는 등 개발 워크플로우 전반에 걸쳐 도움을 줄 수 있습니다.

Claude Code가 git에서 읽는 것들

Claude Code를 실행하면 자동으로 다음 정보를 파악합니다:

  • 현재 브랜치명
  • 최근 커밋 히스토리
  • staged / unstaged 변경사항
  • 파일 구조와 수정 시간

이 컨텍스트 덕분에 "방금 변경한 내용 리뷰해줘"라고만 해도 정확히 무엇이 바뀌었는지 알고 응답합니다.

커밋 메시지 자동 생성

가장 많이 쓰는 기능 중 하나입니다.

# 변경사항을 스테이징한 뒤
git add src/auth/login.ts tests/auth.test.ts

# Claude Code에 커밋 메시지 요청
claude
> 스테이징된 변경사항 보고 커밋 메시지 써줘

Claude Code가 실제 코드 변경을 분석해서 의미 있는 커밋 메시지를 제안합니다:

feat(auth): JWT refresh token 로직 추가

- 만료된 access token 자동 갱신
- refresh token 유효성 검증 미들웨어 추가
- 관련 단위 테스트 3개 추가

Conventional Commits 형식 강제

CLAUDE.md에 다음을 추가하면 항상 Conventional Commits 형식으로 메시지를 생성합니다:

## 커밋 메시지 규칙
- Conventional Commits 형식 필수: type(scope): description
- type: feat, fix, docs, style, refactor, test, chore
- 한국어로 description 작성
- 본문에 변경 이유와 영향 범위 포함

AI 코드 리뷰

PR을 올리기 전에 Claude Code에게 먼저 리뷰를 받으세요.

# 현재 브랜치와 main 브랜치의 차이를 리뷰
claude
> main 브랜치와 비교해서 현재 변경사항 코드 리뷰해줘

또는 특정 파일에 대해:

claude
> src/auth/login.ts 리뷰해줘. 보안 취약점 중심으로.

리뷰 요청 시 구체적으로 물어보기

요청무엇을 분석하나
"보안 취약점 찾아줘"SQL 인젝션, XSS, 인증 우회 등
"성능 문제 찾아줘"N+1 쿼리, 불필요한 반복, 메모리 누수
"엣지 케이스 찾아줘"null 처리, 빈 배열, 타입 불일치
"테스트 커버리지 분석해줘"테스트 안 된 경우의 수

PR 설명 자동 작성

claude
> 현재 브랜치 변경사항으로 GitHub PR 설명 써줘

결과 예시:

## 변경 사항
- JWT 기반 인증 시스템 추가
- Access token 만료 시 자동 갱신 로직 구현
- 로그인/로그아웃 API 엔드포인트 추가

## 테스트
- [ ] 단위 테스트 통과 확인
- [ ] E2E 로그인 플로우 테스트

## 주의사항
- 환경변수 JWT_SECRET 설정 필요

브랜치 전략과 함께 쓰기

Claude Code를 브랜치 기반 개발과 함께 쓰면 효과가 배가됩니다.

# 1. 기능 브랜치 생성
git checkout -b feature/user-auth

# 2. Claude Code로 구현
claude
> JWT 인증 시스템 구현해줘. CLAUDE.md의 기술 스택 참고해서.

# 3. 구현 완료 후 리뷰
claude
> 방금 만든 코드 리뷰해줘

# 4. 커밋 메시지 생성
git add .
claude
> 커밋 메시지 제안해줘

# 5. PR 설명 생성
claude
> PR 설명 써줘

git blame과 히스토리 분석

claude
> auth/login.ts 파일이 왜 이렇게 짜여있는지 git 히스토리 보고 분석해줘

claude
> 지난 주에 누가 뭘 변경했는지 요약해줘

Claude Code가 git log, git blame 등의 정보를 분석해서 코드의 진화 과정을 설명해줍니다.

충돌 해결

# 머지 충돌이 발생했을 때
claude
> 현재 충돌 파일들 보고 어떻게 해결할지 알려줘

Claude Code가 충돌 마커(<<<<<<<, =======, >>>>>>>)를 분석하고 양쪽 변경사항의 의도를 파악해서 해결책을 제안합니다.

.gitignore 관리

claude
> 이 프로젝트에 맞는 .gitignore 만들어줘

또는 특정 파일이 실수로 추적되고 있을 때:

claude
> node_modules가 git에 추적되고 있는데 어떻게 제거하지?

실전 워크플로우: 하루의 AI 개발 흐름

# 오전: 작업 시작
git pull origin main
git checkout -b feature/payment-integration
claude
> 어제 main에 머지된 변경사항 요약해줘

# 작업 중: 구현
claude
> Stripe 결제 연동 구현해줘. 웹훅 처리 포함.

# 작업 완료: 정리
git add .
claude
> 변경사항 리뷰해줘 (보안, 엣지케이스 중심)
claude
> 커밋 메시지 써줘
git commit -m "$(claude -p '스테이징 변경사항으로 커밋 메시지 한 줄만')"

# PR 올리기
claude
> PR 설명 써줘

다음 챕터: 슬래시 커맨드 →