Claude Code에 Git Worktree 기능 탑재 (성능도 훌륭합니다)

BBetter Stack
Computing/SoftwareInternet Technology

Transcript

00:00:00Claude Code가 최근에 정말 엄청난
00:00:02업데이트를 받았습니다. Claude Desktop의 SSH 지원부터
00:00:05앱 미리보기, GitHub 연동,
00:00:07그리고 터미널의 단순 모드까지 추가되었죠.
00:00:09단순 모드는 스킬, 플러그인, 커스텀 도구를 제외해서
00:00:11기본적인 작업을 쉽게 만들어줍니다.
00:00:13하지만 가장 큰 업데이트는 단연 네이티브 워크트리(work tree) 지원입니다.
00:00:16이제 에이전트가 여러 기능 구현이나
00:00:18버그 수정을 각각 독립적으로 수행할 수 있다는 뜻이죠.
00:00:20사용자가 직접 수동으로 설정할 필요도 전혀 없습니다.
00:00:23그런데 이 기능이 너무 성급하게 출시된 걸까요?
00:00:25많은 개발자가 벌써 기본적인 문제를 겪고 있는데요.
00:00:28구독 버튼 누르시고, 바로 자세히 알아보겠습니다.
00:00:30코딩 에이전트와 Git 워크트리를 함께 쓰는 건 새로운 일은 아닙니다.
00:00:33사실 Claude Desktop은 이미 한동안 지원해 왔고,
00:00:35이미 영상으로 소개해 드린 Claude Squad처럼
00:00:37이를 지원하는 플러그인이나 도구도 많습니다.
00:00:41하지만 제가 개인적으로 이 기능을 잘 안 썼던 이유는
00:00:43수동으로 관리하는 게 꽤 번거롭기 때문이었는데요.
00:00:46Claude Code의 이 새로운 기능이
00:00:49과연 그 과정을 훨씬 편하게 해줄지 기대되네요.
00:00:50한번 해보겠습니다.
00:00:51여기 Claude가 React로 만든 기본적인 할 일 앱이 있습니다.
00:00:54테스트용이라서 기능이 거의 없는데,
00:00:56순전히 테스트 목적으로만 만든 앱입니다.
00:00:58어쨌든, 지금 화면이 너무 눈부셔서
00:01:01다크 모드 전환 버튼을 추가하고 싶네요.
00:01:02그리고 새로고침하면 데이터가 사라져서
00:01:04로컬 스토리지에 저장하는 기능도 넣고 싶고요.
00:01:07마지막으로 할 일을 수정하는 기능도 추가하려고 합니다.
00:01:10보통은 이 모든 기능을 하나의 프롬프트에 넣었을 겁니다.
00:01:12다크 모드, 로컬 스토리지,
00:01:14그리고 할 일 수정 기능까지 말이죠.
00:01:16하지만 문제는 이 기능 중 하나에 버그가 생기면
00:01:20전체 작업을 다시 손봐야 한다는 겁니다.
00:01:22모든 게 하나의 PR이나 브랜치에 묶여 있어서
00:01:25다른 기능들의 배포까지 늦어지게 되죠.
00:01:28하지만 워크트리를 사용하면,
00:01:28수동 설정 없이도 제 로컬 환경에서
00:01:31이 기능들을 서로 다른 브랜치에서
00:01:33동시에 작업할 수 있습니다.
00:01:35특정 기능에 문제가 생기더라도,
00:01:37나머지 두 기능은 먼저 푸시하고
00:01:39문제가 된 기능만 해당 브랜치에서 따로 작업하면 되죠.
00:01:41그 방법을 보여드릴게요.
00:01:42Claude Code를 실행할 때 W 플래그를 붙이면,
00:01:45Claude가 자동으로 이름을 정해서
00:01:47워크트리를 만들어줍니다.
00:01:49잠깐, 이름이 'Lacan'이라고요?
00:01:50뭐, 알겠습니다.
00:01:52워크트리에 직접 이름을 붙이고 싶다면,
00:01:54W 플래그 뒤에 이름을 적어주면 됩니다.
00:01:56여기에 입력해 볼게요.
00:01:58그러면 이쪽에 새로운 워크트리가 생기고,
00:02:00새 브랜치도 생성되지만,
00:02:02이전에 만들었던 워크트리가 삭제되지는 않습니다.
00:02:05임시 워크트리를 많이 만드신다면
00:02:06이 점을 꼭 유의하셔야 합니다.
00:02:08프로젝트의 .claude 디렉토리 내 worktrees 폴더를 보면,
00:02:11우리가 만든 워크트리와
00:02:13그에 연결된 모든 코드 파일을 확인할 수 있습니다.
00:02:15참고로, 워크트리는 프로젝트에
00:02:16git이 초기화되어 있어야 하며
00:02:18최소 하나 이상의 커밋이 있어야 작동합니다.
00:02:20이제 각각의 워크트리에서
00:02:22모든 기능 구현을 진행해 보겠습니다.
00:02:24세 가지 기능 구현이 모두 끝났습니다.
00:02:26보시는 것처럼 다크 모드 전환이 잘 작동하네요.
00:02:29이쪽 워크트리에는 다크 모드는 없지만,
00:02:31할 일 수정 기능이 잘 됩니다.
00:02:32새 항목을 추가하고 여기서 내용을 바꿔볼게요.
00:02:35그런데 로컬 스토리지 쪽은 문제가 좀 있는 것 같네요.
00:02:38하지만 이게 바로 워크트리의 장점입니다.
00:02:40다른 두 기능은 멀쩡하다는 걸 바로 알 수 있으니까요.
00:02:43정상인 기능들은 커밋하거나 PR을 올리고,
00:02:44문제가 있는 이 기능에만 집중해서
00:02:46별도의 Claude Code 세션을 열어
00:02:48문제를 해결할 수 있습니다.
00:02:49워크트리 작업이 끝나면,
00:02:51나중에 다시 쓰기 위해 그대로 두거나
00:02:53시스템에서 삭제할 수 있습니다.
00:02:54삭제하지 않고 남겨뒀다면,
00:02:55보시는 것처럼 이름을 지정해서
00:02:58정확히 동일한 워크트리로 돌아갈 수 있습니다.
00:03:00현재 워크트리에서 세션을 이어서 하거나
00:03:03Control + W를 눌러 프로젝트의 모든 세션을 볼 수도 있죠.
00:03:06다만 현재 어떤 세션이 활성화된 건지
00:03:07어떻게 판별하는지는 확실치 않네요.
00:03:08지금 제가 메인 브랜치에 있거든요.
00:03:11세션 이야기가 나와서 말인데,
00:03:12워크트리 디렉토리에서 바로 작업하고 싶다면,
00:03:15cd 명령어로 직접 해당 경로로
00:03:16.claude/worktrees 등을 찾아 들어가거나,
00:03:19tmux 플래그를 써서 워크트리를 실행하면
00:03:21해당 디렉토리로 즉시 이동합니다.
00:03:23새 창을 하나 더 열어보면,
00:03:26해당 워크트리 경로에 들어와 있고
00:03:27워크트리 전용 파일들을 탐색할 수 있는 걸 볼 수 있죠.
00:03:30하지만 워크트리의 가장 멋진 점은
00:03:31서브 에이전트를 지원한다는 것입니다.
00:03:33즉, 하나의 Claude Code 세션 안에서
00:03:35여러 서브 에이전트가 각기 다른 브랜치에서
00:03:38여러 기능을 동시에 작업하게 할 수 있다는 거죠.
00:03:40커스텀 서브 에이전트에도 워크트리 기능을 넣고 싶다면,
00:03:42에이전트 실행 시 자동으로 워크트리가 생성되도록
00:03:45프론트매터(front matter)에 isolation work tree를
00:03:48추가하기만 하면 Claude가 알아서 처리해 줍니다.
00:03:50전반적으로 이 기능은 정말 인상적입니다.
00:03:52앞으로도 제가 정말 자주
00:03:54사용하게 될 기능인 것 같아요.
00:03:55특히 새로 추가된 워크트리 후크(hooks)를 쓰면
00:03:57git이 아니더라도 SVN이나 jiu-jitsu 등에서 쓸 수 있고,
00:04:00워크트리를 만들 때마다
00:04:02특정 스크립트가 자동으로 실행되도록
00:04:04설정할 수도 있으니까요.
00:04:05안타깝게도 최근 Claude Code 업데이트 이후
00:04:08많은 사용자가 워크트리 관련
00:04:09문제를 겪고 있는 듯합니다.
00:04:11기능 플래그(feature flag) 오류인 것으로 보이는데요.
00:04:13다행히 임시 방편으로 Claude Code가
00:04:17자신의 바이너리를 직접 수정하게 할 수 있습니다.
00:04:18조만간 개발팀에서 정식 수정을 내놓아서
00:04:21더 많은 분이 이 놀라운 기능을 써보길 기대해 봅니다.
00:04:24놀라운 기능에 대해 더 말씀드리자면,
00:04:25React 개발자분들 중에서 React 안티 패턴을
00:04:28자동으로 감지해 주는 CLI 도구가 궁금하시다면,
00:04:31React Doctor에 대해 자세히 설명해 주는
00:04:33Andris의 영상을 꼭 확인해 보세요.

Key Takeaway

Claude Code의 새로운 네이티브 워크트리 기능은 개발자가 여러 기능을 독립된 브랜치에서 동시에 안전하게 구현하고 관리할 수 있게 해주는 혁신적인 도구입니다.

Highlights

Claude Code의 최신 업데이트로 SSH 지원, 앱 미리보기, GitHub 연동 등 다양한 기능 추가

가장 핵심적인 업데이트인 네이티브 Git 워크트리(Worktree) 지원 및 독립적인 작업 환경 제공

-W 플래그를 통한 자동 워크트리 생성과 브랜치별 독립적 기능 구현 방식

워크트리 내부의 세션 관리와 tmux 플래그를 활용한 디렉토리 즉시 이동 기능

서브 에이전트 지원을 통해 하나의 세션에서 여러 브랜치를 동시에 작업하는 효율성

워크트리 후크(Hooks)를 이용한 SVN 지원 및 커스텀 스크립트 자동 실행 기능

현재 발생 중인 기능 플래그 오류와 이를 해결하기 위한 임시 방편 안내

Timeline

Claude Code 최신 업데이트 개요

Claude Code가 최근 진행한 대규모 업데이트 내용들을 상세히 소개합니다. 여기에는 Claude Desktop의 SSH 지원, 앱 미리보기, GitHub 연동, 그리고 복잡한 도구를 제외한 터미널의 '단순 모드' 추가가 포함됩니다. 특히 이번 업데이트의 정점은 네이티브 워크트리 지원으로, 에이전트가 여러 작업을 독립적으로 수행할 수 있게 되었습니다. 사용자가 수동으로 설정할 필요가 없는 자동화된 환경이 구축된 점이 핵심입니다. 하지만 성급한 출시로 인해 일부 개발자들이 초기 문제를 겪고 있다는 점도 언급하며 분석을 시작합니다.

워크트리 도입의 필요성과 기대 효과

코딩 에이전트와 워크트리를 함께 사용하는 개념은 이전에도 있었지만, 수동 관리의 번거로움 때문에 활용도가 낮았습니다. 발표자는 React로 만든 할 일 앱 예시를 통해 다크 모드, 로컬 스토리지 저장, 할 일 수정 등의 기능을 동시에 추가해야 하는 상황을 가정합니다. 기존 방식으로는 하나의 PR에 모든 기능이 묶여 버그 발생 시 전체 배포가 지연되는 리스크가 컸습니다. 워크트리를 사용하면 각 기능을 서로 다른 브랜치에서 독립적으로 작업하여 문제 없는 기능부터 즉시 푸시할 수 있습니다. 이러한 격리된 작업 환경은 협업과 배포 효율성을 극대화하는 결정적인 장점으로 작용합니다.

워크트리 생성 및 구조 분석

실제로 Claude Code에서 워크트리를 사용하는 구체적인 명령어와 구조를 설명합니다. 실행 시 '-W' 플래그를 사용하면 Claude가 자동으로 이름을 지정하여 워크트리를 생성하며, 사용자가 직접 이름을 지정할 수도 있습니다. 생성된 워크트리는 프로젝트 내 '.claude/worktrees' 폴더에 저장되며 기존 작업 내역이 삭제되지 않으므로 주의가 필요합니다. 이 기능을 사용하기 위해서는 프로젝트에 Git이 초기화되어 있어야 하고 최소 하나 이상의 커밋이 존재해야 한다는 전제 조건을 강조합니다. 파일 탐색기를 통해 워크트리별로 독립된 코드 파일들이 생성되는 것을 직접 확인할 수 있습니다.

독립적 작업 수행과 세션 관리

생성된 각 워크트리에서 세 가지 기능을 동시에 구현하고 그 결과를 비교 검증합니다. 다크 모드와 할 일 수정 기능은 성공적으로 작동하지만 로컬 스토리지 기능에 문제가 생긴 상황을 보여주며 워크트리의 가치를 증명합니다. 문제가 있는 브랜치만 별도의 Claude Code 세션을 열어 집중 수정할 수 있으며, 정상적인 기능들은 즉시 커밋이 가능합니다. 작업이 끝난 후에는 워크트리를 삭제하거나 나중에 재사용하기 위해 그대로 유지할 수도 있습니다. 'tmux' 플래그를 사용하면 워크트리 전용 디렉토리로 즉시 이동하여 더 효율적인 터미널 작업이 가능하다는 팁도 제공합니다.

고급 기능: 서브 에이전트와 후크 설정

워크트리의 가장 강력한 특징인 서브 에이전트 지원과 커스터마이징 기능을 소개합니다. 하나의 메인 세션 안에서 여러 서브 에이전트가 각기 다른 브랜치에서 동시에 작업하게 할 수 있어 생산성이 비약적으로 향상됩니다. 프론트매터(Front Matter)에 특정 설정을 추가하면 에이전트 실행 시 자동으로 워크트리가 생성되도록 자동화할 수도 있습니다. 또한 워크트리 후크를 통해 Git 외에도 SVN이나 다른 버전 관리 시스템과의 연동을 지원하며, 생성 시 특정 스크립트를 실행하는 유연성도 갖췄습니다. 마지막으로 현재 보고된 기능 플래그 오류에 대한 임시 해결책을 제시하며 React 안티 패턴 감지 도구인 'React Doctor'에 대한 추천으로 마무리합니다.

Community Posts

No posts yet. Be the first to write about this video!

Write about this video