Cursor CLI와 Git Worktree 조합

5 min read

Worktree는 같은 레포에 여러 디렉터리(각각 다른 브랜치)를 가질 수 있게 합니다. Cursor CLI는 실행한 디렉터리를 조작합니다. 둘을 합치면 여러 터미널에서 CLI Agent를 다른 브랜치로 병렬 실행할 수 있습니다 — Cursor 창을 여러 개 열 필요 없이 키보드 중심 멀티태스킹이 가능합니다.

왜 조합하는가?

방법 어떻게 누구에게 적합
Worktree + 여러 Cursor 창마다 워크트리 하나 열기 IDE에서 파일 트리와 미리보기를 쓰고 싶은 사람
Worktree + CLI 여러 터미널, 각각 cd로 워크트리 진입 후 cursor agent 실행 키보드 중심 사용자 또는 서버/SSH 환경

공통점: 각 워크트리는 독립 디렉터리 → 각각 독립된 컨텍스트 → 서로 방해 없이 병렬 개발. 여러 분신이 다른 브랜치에서 동시에 작업하는 것처럼.

기본 사용법: 터미널 하나에 워크트리 하나

워크트리를 이미 만들어 놓은 경우:

~/projects/
├── my-app/                  ← main
├── my-app--feature-auth/    ← feature/auth
└── my-app--feature-payment/  ← feature/payment

터미널 1 (auth 담당):

cd ~/projects/my-app--feature-auth
cursor agent "JWT 로그인 구현해줘"

터미널 2 (payment 담당):

cd ~/projects/my-app--feature-payment
cursor agent "Stripe 결제 플로우 추가해줘"

CLI는 기본적으로 현재 작업 디렉터리를 컨텍스트로 사용하므로, 두 터미널은 각자의 워크트리만 수정합니다. "두 CLI Agent 병렬 실행" — Cursor 창을 두 개 열 필요 없이 리소스 절약과 컨텍스트 전환 감소.

디렉터리를 바꾸지 않고: --path로 워크트리 지정

메인 프로젝트 디렉터리에 있으면서 특정 워크트리에 작업시키고 싶을 때:

cd ~/projects/my-app
cursor agent "feature/auth에 유닛 테스트 추가해줘" --path ../my-app--feature-auth

--path로 "볼 디렉터리" = 그 워크트리 경로를 지정합니다. 워크트리를 하나씩 처리하거나 스크립트에서 경로가 고정된 경우에 적합합니다.

비대화 + Worktree (스크립트/배치)

여러 워크트리에 같은 종류의 작업을 순서대로 실행 (예: 전부 README 추가, 전부 lint 수정):

# 예: 두 워크트리에 "lint 수정" 실행
cursor agent ".eslintrc에 따라 자동 수정 가능한 에러를 모두 수정해줘" --path ../my-app--feature-auth --no-interactive
cursor agent ".eslintrc에 따라 자동 수정 가능한 에러를 모두 수정해줘" --path ../my-app--feature-payment --no-interactive

또는 루프로 작성 (실제 경로에 맞게 조정):

for dir in ../my-app--feature-auth ../my-app--feature-payment; do
  cursor agent "린터 에러 수정해줘" --path "$dir" --no-interactive
done

한 번 지시해서 여러 브랜치를 한꺼번에 정리 — PR 전 일괄 마무리에 딱 좋습니다.

"Worktree + 여러 창"과의 관계

  • 여러 창: 각 Cursor 창이 워크트리를 열고 IDE의 Agent·Chat·Tab 자동완성 사용.
  • CLI + Worktree: 터미널 + cursor agent — "하나의 디렉터리, 하나의 컨텍스트"라는 같은 아이디어로, 터미널만 더 열면 병렬화.

혼합도 가능: 메인 개발은 창에서, 다른 브랜치는 서버에서 CLI로 간단히 수정.

요약

  • Worktree = 여러 디렉터리, 여러 브랜치; CLI = 현재 디렉터리 또는 --path로 조작 → 천생연분.
  • 병렬: 여러 터미널 열고, 각각 다른 워크트리에 cdcursor agent 실행.
  • 단일 터미널: --path <워크트리 경로>로 대상 워크트리 지정.
  • 스크립트/배치: --path + --no-interactive로 여러 워크트리에 같은 작업 실행.

다음: 07-unlimit-loop-debug — CLI가 자동으로 루프하며 수정하고, 테스트가 통과할 때까지 실행 (커피 한 잔 마시고 와도 됩니다).