본문으로 건너뛰기
claudemods

브랜치, 커밋, GitHub를 위한 Claude Code git 모드

Claude Code git 모드는 브랜치와 변경 사항을 보여 주고, 위험한 git 명령을 막고, 커밋과 PR 문구를 다듬고, 세션 안에서 GitHub 상태를 표시합니다.

Claude Code에서 실행 중인 위험한 명령 차단

위험한 명령 차단

rm -rf /, main 브랜치 강제 푸시, DROP TABLE, curl | sh 같은 파괴적인 Bash 명령을 실행 전에 거부합니다.

  • 토스트
  • 도구 호출 가로채기
  • UI 변경

v2.1.291에서 테스트됨

Claude Code에서 실행 중인 프롬프트 위 Git 브랜치

프롬프트 위 Git 브랜치

Claude Code 프롬프트 위 한 줄 띠에 git 브랜치, 변경된 파일 수, ahead/behind 상태를 표시합니다.

  • 프롬프트 위
  • 명령어 실행
  • 도구 호출 가로채기
  • UI 변경

v2.1.291에서 테스트됨

Claude Code git 모드는 Claude가 코드를 수정하는 동안 버전 관리 상태를 눈에 보이게 하고 조금 더 안전하게 만들어 줍니다. 현재 브랜치와 변경된 파일 수를 보여 주고, main에 대한 force-push 전에 경고하고, 커밋 작성자 표기 문구를 바꾸거나, GitHub의 풀 리퀘스트 및 CI 상태를 표시합니다.

Claude Code git 모드는 어디에 연결되나요?

표시용 모드는 $.session.cwd()로 폴더를 찾은 뒤 $.process.run(['git', 'status', '--porcelain=v1', '-b'], { cwd })로 저장소를 읽고, 그 결과를 AbovePrompt 밴드나 상태 표시줄에 그립니다. session.start, turn.complete, 그리고 명령에 git이 포함된 Bash의 tool.call 직후에 새로 고치므로, Claude가 수행한 checkout이 즉시 반영됩니다. 느린 $.clock.every 타이머는 다른 터미널에서 직접 만든 변경 사항까지 잡아냅니다.

가드 모드는 같은 tool.call 훅을 사용해 git push --force origin main이나 git clean -fdx 같은 명령을 거부합니다. 커밋과 PR의 서명 방식을 바꾸는 모드는 attribution.text를 처리합니다. GitHub를 인식하는 모드는 gh를 실행하거나 $.http.fetch로 GitHub API를 호출합니다. 전체 이벤트 목록은 모드 레퍼런스에 있습니다.

설치하기 전에 무엇을 확인해야 하나요?

거의 모든 git 모드에는 명령어 실행 배지가 표시된다고 보시면 됩니다. 중요한 것은 어떤 명령을 실행하느냐입니다. 표시용 모드라면 git status, git rev-parse, git log 같은 읽기 전용 명령만, 타임아웃을 두고, 셸 문자열 없이 실행해야 합니다. 모드에 네트워크가 표시된다면 어느 호스트를 호출하는지, 토큰이 필요한지 확인하시기 바랍니다. userConfig에 넣는 GitHub 토큰은 민감 정보로 표시되어 있어야 합니다.

아주 큰 저장소에서는 git status에 눈에 띌 만큼 시간이 걸릴 수 있습니다. 이벤트 기반으로 새로 고치고 /config에서 타이머 간격을 늘릴 수 있는 모드를 선택하는 것이 좋습니다.

git 모드와 Claude 자체의 git 사용은 어떻게 다른가요?

Claude는 이미 Bash 도구를 통해 git을 대신 실행합니다. git 모드는 이를 대체하지 않습니다. 묻지 않아도 결과를 보여 주고, Claude가 실행할 수 있는 범위에 제한을 둡니다. 프롬프트 위의 브랜치 밴드와 force-push 가드를 함께 쓰면 가장 흔한 두 가지 사고, 즉 잘못된 브랜치에 커밋하는 일과 공유된 히스토리를 다시 쓰는 일을 막을 수 있습니다.

자주 묻는 질문

Claude Code git 모드에는 GitHub CLI가 필요한가요?
GitHub와 통신하는 경우에만 필요합니다. 브랜치 표시기는 git만 있으면 됩니다. 풀 리퀘스트나 CI 상태를 읽는 모드는 보통 $.process.run으로 gh를 실행하거나 $.http.fetch로 GitHub API를 호출하며, 어느 쪽인지 모드 페이지에 적혀 있어야 합니다.
git 모드가 저장소를 변경할 수 있나요?
git commit이나 git checkout처럼 쓰기 작업을 하는 명령을 실행할 때만 가능합니다. 작동 방식 섹션을 읽어 보시기 바랍니다. 표시 전용 모드라면 git status 같은 읽기 전용 명령만 실행해야 합니다.
왜 일부 폴더에서는 git 모드에 아무것도 표시되지 않나요?
잘 만들어진 git 모드는 git 저장소 밖에서는 오류를 출력하는 대신 스스로 숨습니다. 저장소 안에서 Claude Code를 시작하거나, 시작하기 전에 cd로 저장소에 들어가시기 바랍니다.