콘텐츠로 이동

Git 통합

Claude Code는 시작 시 자동으로 Git 컨텍스트를 수집하여 시스템 프롬프트에 포함합니다. 이를 통해 Claude는 현재 작업 브랜치, 변경 사항, 최근 히스토리를 즉시 파악합니다.

| 수집 항목 | 내용 | 제한 | |-----------|------|------| | 브랜치명 | 현재 체크아웃된 브랜치 | - | | 기본 브랜치 | main 또는 master | - | | Git 사용자명 | git config user.name | - | | 작업 상태 | git status 출력 | 2,000자 제한 | | 최근 커밋 | git log --oneline | 최근 5개 |

Terminal window
# Claude가 수집하는 정보와 동일한 명령어
git branch --show-current
git symbolic-ref refs/remotes/origin/HEAD 2>/dev/null
git config user.name
git status --short | head -c 2000
git log --oneline -5

Remote Control은 로컬 Claude Code 세션을 다른 기기에서 제어하는 기능입니다. 이를 Git 컨텍스트를 생략하는 환경 변수 모드로 가정하지 말고, 실제 수집 범위와 권한은 현재 CLI 문서와 세션 설정으로 확인해야 합니다.

Claude Code는 Git 작업 시 다음 안전 규칙을 준수합니다.

| 규칙 | 이유 | |------|------| | 푸시된 커밋 수정 금지 | 협업자의 히스토리 깨짐 방지 | | 훅 건너뛰기 금지 (--no-verify) | 팀 코드 품질 기준 유지 | | main/master 강제 푸시 경고 | 프로덕션 브랜치 보호 | | 서명 건너뛰기 금지 | 커밋 무결성 보장 |

Terminal window
# 이런 명령어는 Claude가 자동으로 거부하거나 경고합니다
git commit --no-verify # 훅 건너뛰기
git push --force origin main # 메인 브랜치 강제 푸시
git rebase -f HEAD~3 # 푸시된 커밋 재작성

보안상 안전한 읽기 전용 Git 명령어는 권한 요청 없이 자동 승인됩니다.

자동 승인: git log, git status, git diff, git show,
git branch, git remote -v, git stash list
권한 필요: git push, git merge, git rebase,
git reset, git checkout (브랜치 변경)

작업 디렉토리가 변경될 때 환경을 자동으로 재설정할 수 있습니다.

{
"hooks": {
"CwdChanged": [
{
"hooks": [
{
"type": "command",
"command": "echo '디렉토리 변경: $CLAUDE_TOOL_INPUT' && git status --short 2>/dev/null || true"
}
]
}
]
}
}

병렬 에이전트 작업 시 Git 워크트리를 사용하여 각 에이전트가 독립적인 작업 공간에서 실행됩니다.

Terminal window
# 워크트리 생성 (Claude가 자동으로 수행)
git worktree add /tmp/claude-agent-abc123 feature/auth
# 각 에이전트는 자신의 워크트리에서 작업
# 워크트리 A: feature/auth 브랜치
# 워크트리 B: feature/payment 브랜치
# 워크트리 C: bugfix/login 브랜치

WorktreeCreateWorktreeRemove 훅으로 워크트리 생명주기를 모니터링할 수 있습니다.

{
"hooks": {
"WorktreeCreate": [{
"hooks": [{ "type": "command", "command": "echo '워크트리 생성: $ARGUMENTS'" }]
}],
"WorktreeRemove": [{
"hooks": [{ "type": "command", "command": "echo '워크트리 제거: $ARGUMENTS'" }]
}]
}
}

워크트리 격리를 통해 여러 에이전트가 동시에 서로 다른 기능을 개발하더라도 파일 충돌 없이 안전하게 작업할 수 있습니다.