18. Git/GitHub 워크플로우
- 왜 Git이 Claude Code의 가장 중요한 안전장치인지 이해한다
- 체크포인트와
/rewind로 작업을 되돌리는 법을 안다 - Claude에게 커밋·PR을 맡기는 법과 주의점을 안다
- GitHub 연동(MCP·Action·App)의 큰 그림을 안다
Git은 최고의 안전장치
1장에서 말했듯, Claude Code는 파일을 직접 수정하는 자율 도구라 강력한 만큼 위험도 있습니다. 그 위험을 가장 단순하고 확실하게 줄이는 방법이 Git 버전 관리입니다.
📌 핵심 원칙: 큰 작업 전에 체크포인트 커밋을 남기세요. 작업이 잘못돼도 깨끗한 지점으로 돌아올 수 있습니다. AI가 빠르게 많은 변경을 만드는 만큼, "언제든 되돌릴 수 있다"는 안전망이 마음 편히 맡길 수 있게 해줍니다.
flowchart LR
A[작업 시작]:::user --> B[체크포인트 커밋]:::result
B --> C[Claude에게 작업 위임]:::agent
C --> D{결과 만족?}:::danger
D -->|예| E[다시 커밋]:::result
D -->|아니오| F[되돌리기<br/>git / rewind]:::result
F --> C
classDef user fill:#FFE082,stroke:#F9A825,color:#000
classDef result fill:#A5D6A7,stroke:#43A047,color:#000
classDef agent fill:#80DEEA,stroke:#00ACC1,color:#000
classDef danger fill:#EF9A9A,stroke:#E53935,color:#000
체크포인트와 /rewind
Git 커밋과 별개로, Claude Code는 편집 전 파일 스냅샷을 자동으로 떠두는 체크포인트 기능이 있습니다. /rewind로 이전 상태로 복원할 수 있습니다.
설정: "Rewind code (checkpoints)" 토글 (기본 켜짐)
복원: /rewind
끄기: 디스크 절약을 원하면 체크포인트 비활성화 가능
(CLAUDE_CODE_DISABLE_FILE_CHECKPOINTING 환경변수)
⚠️ 커뮤니티 도구 중에는 세션 파일을 읽어 더 세밀한 undo를 제공하는 것들(예: ccundo류)도 있지만, 기본 안전망은 어디까지나 Git + 체크포인트입니다.
Claude에게 커밋 맡기기
Claude는 Bash 도구로 git을 다룰 수 있어, 커밋 메시지 작성·스테이징·커밋을 맡길 수 있습니다.
> 지금까지의 변경을 의미 단위로 나눠 커밋해줘. 커밋 메시지는 우리 컨벤션(feat/fix/chore:)을 따라줘.
Claude는 보통 변경 상태를 확인하고(git status·diff), 적절한 메시지로 커밋합니다. CLAUDE.md에 커밋 컨벤션을 적어두면 잘 따릅니다(9장).
⚠️ 되돌리기 어려운 git 작업은 신중히. Claude Code는 force-push·브랜치 삭제 같은 파괴적 작업에 대해 안전한 대안을 고려하도록 설계돼 있습니다. 그래도 다음은 권한으로 못박는 게 좋습니다:
{
"permissions": {
"ask": ["Bash(git push *)"],
"deny": ["Bash(git push --force *)", "Bash(git reset --hard *)"]
}
}
PR 초안 작성
Claude에게 PR 본문 작성을 맡길 수 있습니다. 7장에서 본 팁 — 계획을 PR 설명으로 — 이 여기서 빛납니다.
> 이 브랜치의 변경으로 PR을 만들어줘. Summary와 Test plan 섹션을 포함하고, 계획했던 내용과 실제 변경을 대조해줘.
GitHub 연동의 큰 그림
Claude Code는 GitHub과 여러 방식으로 연동됩니다.
flowchart TB
subgraph Local["로컬·대화형"]
MCP[GitHub MCP 서버<br/>이슈·PR·코드 조회/생성]:::tool
end
subgraph CI["CI·자동화"]
Action[GitHub Action<br/>PR마다 자동 리뷰·트리아지]:::tool
App[GitHub App<br/>저장소 연동]:::tool
end
classDef tool fill:#90CAF9,stroke:#1E88E5,color:#000
| 방식 | 용도 | 참고 |
|---|---|---|
| GitHub MCP 서버 | 대화 중 이슈·PR·코드 조회/생성 | 14장 |
| GitHub Action | PR마다 자동 코드 리뷰·이슈 트리아지 | 19장 |
| GitHub App | 저장소 수준 연동 | 공식 문서 |
이 장에서 배운 것
- Git은 Claude Code의 가장 중요한 안전장치다. 큰 작업 전 체크포인트 커밋, 별도 브랜치 작업이 기본 습관이다.
- 체크포인트와
/rewind는 "방금 편집"을 되돌리고, Git은 "작업 단위"를 영구 기록한다 — 보완 관계. - Claude에게 커밋·PR을 맡길 수 있되, force-push·hard reset 등 파괴적 작업은 권한으로 못박는다.
- GitHub 연동은 대화형(MCP)·CI(Action)·저장소(App)로 나뉘며, 비가역 작업엔 사람 확인을 둔다.
✍️ 확인 문제
- Claude Code를 쓸 때 Git이 "가장 중요한 안전장치"인 이유는 무엇인가요?
- 체크포인트(
/rewind)와 Git 커밋의 역할 차이는 무엇이며, 왜 둘 다 필요한가요? git push --force나git reset --hard같은 작업을 안전하게 다루려면 어떻게 설정하나요?
다음 장: 19. 헤드리스 실행과 CI — 터미널 없이, 파이프라인 속에서 Claude Code 돌리기.