Claude Code로 개발 워크플로우 - Git Subcommand 설치 및 사용법
Git Worktree를 활용한 효율적인 개발 환경 구성
Git Subcommand 설치
Git Subcommand 스크립트를 실행해서 설치한다. 설치된 스크립트는 다음과 같이 사용한다.
# Jira 워크트리 생성
git wt-jira QAT-3349 # → fix/QAT-3349
git wt-jira PROJ-123 # → feature/PROJ-123
git wt-jira QAT-3349 develop # develop에서 생성
git wt-jira https://company.atlassian.net/browse/QAT-3349 # → fix/QAT-3349
git wt-list # 목록 확인
git wt-list -v # 상세 정보
git wt-cleanup # 안전 정리
# 도움말
git wt-jira --help
git wt-cleanup --help
git wt-list --help
자세한 매뉴얼은 git_worktree_manual.md를 참고하면 된다.
스크립트의 동작 방식은 다음과 같다.
1. git wt-jira QAT-xxxx
QAT-xxxx로 시작하면 fix/QAT-xxxx로 worktree를 생성한다. 그외 티켓인경우 feature/티켓번호 로 브랜치가 생성된다.
생성되는 폴더는 현재 폴더에 .worktrees 폴더를 만들고 그 안에 위치한다. 즉, 프로젝트root/.worktrees/fix-QAT-xxxx 폴더가 생성된다.
$> git wt-jira https://company.atlassian.net/browse/QAT-3349 # → fix/QAT-3349
이 명령은 URL을 파싱해서 실행하므로 최종 명령은 동일하다.
다음 명령 실행과 동일하다.
$> git worktree add .worktrees/fix-QAT-xxxx -b fix/QAT-xxxx [target브랜치]
$> cd ./.worktrees/fix-QAT-xxxx # 생성된 worktree 폴더로 이동한다
$> npm i # worktree는 새로운 프로젝트 폴더이므로 의존성을 다시 설치해야 한다. 내부적으로 패키지 매니저를 자동으로 인식해서 실행한다
$> code . # VS Code를 실행한다
worktree 생성 시 .worktrees 폴더를 하위에 만드는 방식으로 결정한 것은 처음에 시도한 방법이 Slash Command였는데 이 방법은 Claude Code가 상위 디렉토리에 접근하지 못하는 문제가 있었다. 나중에 git worktree 관련 명령이 셸 스크립트로 바뀌면서 이 문제는 해결되었지만 .worktrees 폴더 밑에 모아놓은 게 관리하기 편하다는 것을 느껴서 이대로 구조를 유지했다.
2. git wt-list
아래 명령어의 단축어이다.
$> git worktree list
3. git wt-clean
아래 명령어들의 단축어이다. 이 명령은 브랜치까지 삭제하지 않으므로 브랜치는 그대로 남아 있다.
$> git worktree remove [폴더절대경로]/.worktrees/fix-QAT-xxxx
$> git worktree prune
셸 스크립트
이 스크립트가 최종 완성본이다. 셸 등록 및 업데이트, 셸 스크립트 삭제가 하나의 명령어로 가능하다.
해당 셸은 Mac에서 테스트되었다. 그 외 OS는 아마도 Claude의 도움이 필요하다.
# 다운로드 후 실행
$> bash ./installer_script.sh