Blog

Claude Code로 개발 워크플로우 - Git Subcommand 설치 및 사용법

Git Worktree를 활용한 효율적인 개발 환경 구성

Git Subcommand 설치

Git Subcommand 스크립트를 실행해서 설치한다. 설치된 스크립트는 다음과 같이 사용한다.

bash
# 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 폴더가 생성된다.

bash
$> git wt-jira https://company.atlassian.net/browse/QAT-3349  # → fix/QAT-3349

이 명령은 URL을 파싱해서 실행하므로 최종 명령은 동일하다.

다음 명령 실행과 동일하다.

bash
$> 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

아래 명령어의 단축어이다.

bash
$> git worktree list

3. git wt-clean

아래 명령어들의 단축어이다. 이 명령은 브랜치까지 삭제하지 않으므로 브랜치는 그대로 남아 있다.

bash
$> git worktree remove [폴더절대경로]/.worktrees/fix-QAT-xxxx

$> git worktree prune

셸 스크립트

이 스크립트가 최종 완성본이다. 셸 등록 및 업데이트, 셸 스크립트 삭제가 하나의 명령어로 가능하다.

해당 셸은 Mac에서 테스트되었다. 그 외 OS는 아마도 Claude의 도움이 필요하다.

installer_script 다운로드

sh
# 다운로드 후 실행
$> bash ./installer_script.sh