Claude CodeにGit Worktreeがネイティブ対応!これはかなり使えます

BBetter Stack
컴퓨터/소프트웨어AI/미래기술

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しかし、最大のアップデートは何と言っても「ネイティブ・ワークツリー対応」です。
00:00:16これにより、AIエージェントが複数の機能開発や
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対応するプラグインやツールも数多く存在します。
00:00:37以前動画で紹介した「Claude Squad」などがその一例です。
00:00:41しかし、私が個人的にあまり使ってこなかった理由は、
00:00:43手動での管理が思考の負荷(メンタルロード)を増やすからです。
00:00:46Claude Codeのこの新機能が、
00:00:49その作業を大幅に楽にしてくれることを期待しています。
00:00:50さっそく試してみましょう。
00:00:51ここにClaudeがReactで作成した、シンプルなToDoアプリがあります。
00:00:54テスト目的以外では、わざわざ
00:00:56このようなアプリを作ることはないでしょうが。
00:00:58ともかく、眩しくて目が痛いので
00:01:01ダークモードの切り替え機能を追加したいと思います。
00:01:02それから、リフレッシュすると消えてしまうので、
00:01:04ローカルストレージに保存する機能も欲しいですね。
00:01:07さらに、ToDoを編集できる機能も追加しましょう。
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:54「-w」フラグの後に名前を指定します。
00:01:56ここに表示されるように入力します。
00:01:58すると、新しいワークツリーがこちらに作成され、
00:02:00新しいブランチも同時に作成されます。
00:02:02ただし、以前作成したワークツリーは削除されません。
00:02:05一時的なワークツリーを大量に作る場合は、
00:02:06この点に注意してください。
00:02:08プロジェクト内の「.claud」ディレクトリの「worktrees」フォルダを見れば、
00:02:11作成されたワークツリーを確認でき、
00:02:13関連するすべてのコードファイルが表示されます。
00:02:15なお、ワークツリー機能を利用するには、
00:02:16プロジェクトでGitが初期化されており、
00:02:18少なくとも一度はコミットされている必要があります。
00:02:20これで、それぞれのワークツリーを使って
00:02:22各機能を実装していく準備が整いました。
00:02:243つの機能すべての実装が完了しました。
00:02:26こちらではダークモードの切り替えが機能しています。
00:02:29こちらにはダークモードはありませんが、
00:02:31ToDoの編集が可能です。
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:03Ctrl + Wを押して、このプロジェクトの全セッションを表示したりもできます。
00:03:06ただ、現在メインブランチにいるので、
00:03:07今のセッションがどのように判別されているのかは、
00:03:08少し分かりにくい部分もあります。
00:03:11セッションの話のついでですが、
00:03:12ワークツリーのディレクトリで作業したい場合は、
00:03:15直接「cd .claud/worktrees/...」と移動するか、
00:03:19あるいは「--tmux」フラグを付けて実行すれば、
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フロントマターに「isolation: worktree」を追加するだけで、
00:03:48あとはClaudeがすべて処理してくれます。
00:03:50全体として、この機能には非常に感銘を受けました。
00:03:52間違いなくこれから
00:03:54活用していくことになるでしょう。
00:03:55特に新しいワークツリー・フックを使えば、
00:03:57Git以外のSVNやJujutsuなどでも利用でき、
00:04:02新しいワークツリー作成時にスクリプトを
00:04:04自動実行することも可能です。
00:04:05残念ながら、最新のClaude Codeアップデート以降、
00:04:08ワークツリーで問題が発生しているという報告が
00:04:09多くのユーザーから寄せられています。
00:04:11機能フラグの不具合が原因のようです。
00:04:13幸い、一時的な措置として、Claude Code自身に
00:04:17自身のバイナリを修正させることもできますが、
00:04:18開発チームが正式な修正をリリースし、より多くの人が
00:04:21この素晴らしい機能を体験できるようになることを願っています。
00:04:24素晴らしい機能といえば、
00:04:25もしあなたがReact開発者で、Reactのアンチパターンを
00:04:28自動検知するCLIツールを探しているなら、
00:04:31Andrisによる「React Doctor」の
00:04:33紹介動画をぜひチェックしてみてください。

Key Takeaway

Claude Codeのネイティブ・ワークツリー対応により、開発者はメンタルロードを削減しながら、AIエージェントに複数機能の完全な並行開発と独立したデバッグを任せることが可能になりました。

Highlights

Claude CodeがネイティブでGit Worktreeに対応し、複数の機能開発やバグ修正を独立して並行処理可能になった

「-w」フラグを使用することで、手動設定なしに新しいワークツリーとブランチを自動生成できる

特定の機能を別々のワークツリーで管理することで、一部の機能にバグがあっても他の正常な機能を先にデプロイできる

サブエージェント機能を活用し、一つのセッション内で異なるブランチの並行開発をClaudeに任せることが可能

ワークツリー・フックの導入により、Git以外のバージョン管理システム(SVN、Jujutsu等)との連携やスクリプト自動実行も対応

最新アップデートにおいて機能フラグの不具合報告があるが、Claude自身にバイナリを修正させるなどの一時的な回避策が存在する

Timeline

Claude Codeの最新アップデート概要

最近実施されたClaude Codeの膨大なアップデート内容について紹介されています。具体的にはSSH対応、アプリのプレビュー機能、GitHub連携、そして基本タスクに特化した「シンプルモード」の導入が挙げられています。その中でも最も重要な更新として「ネイティブ・ワークツリー対応」が強調されており、開発効率を劇的に変える可能性を秘めています。この機能により、AIエージェントが複数の開発タスクを互いに干渉することなく独立して進められるようになります。冒頭では、この新機能がもたらす期待感とともに、リリース直後に報告されている初期の課題についても触れられています。

ワークツリー導入の背景とメリット

コーディング・エージェントにおけるワークツリー活用の歴史と、なぜ今回のネイティブ対応が重要なのかが解説されています。以前から「Claude Squad」のようなプラグインは存在していましたが、手動管理による思考の負荷が導入の壁となっていました。実例として、Reactで作成したToDoアプリに「ダークモード」「ローカル保存」「編集機能」の3つを同時追加するシナリオが提示されています。通常一つのプロンプトでこれらを頼むと、一つのバグが全てのリリースを止めてしまいますが、ワークツリーなら正常な機能だけを先にプッシュできます。このように、依存関係を切り離して開発を加速させることがワークツリー最大の利点であると述べています。

ワークツリーの具体的な操作方法と構造

Claude Codeで実際にワークツリーを作成し、運用するためのコマンド操作について詳しく説明されています。「-w」フラグを付けて実行するだけで、Claudeが自動的に名前を付けたワークツリーと新しいブランチを作成します。特定の名前を付けたい場合はフラグの後に指定が可能で、作成されたファイル群はプロジェクト内の「.claud/worktrees」ディレクトリに格納されます。注意点として、Gitが初期化され一度はコミットされている環境である必要があることが示されています。また、作成されたワークツリーは自動では削除されないため、大量に作成する際の管理上の留意事項についてもアドバイスされています。

並行開発の実践とセッション管理

実際に3つの機能を別々のワークツリーで実装し、それぞれの動作を確認するデモンストレーションが行われています。ダークモードや編集機能が独立して動作する一方で、保存機能に問題が発生した際、その問題箇所だけを切り離して修正できる様子が描かれています。終了した作業は保持することも削除することも可能で、名前を指定すれば過去のセッションにいつでも復帰できる柔軟性があります。セッションの切り替えは「Ctrl + W」で一覧表示でき、プロジェクト全体の状況を把握しやすくなっています。さらに「--tmux」フラグを使用すれば、特定のワークツリーのディレクトリへ直接移動して作業を開始できる便利なテクニックも紹介されています。

高度な機能:サブエージェントとカスタム設定

ワークツリー機能の真骨頂である「サブエージェント」のサポートと、拡張性についての解説です。一つのメインセッションの中で複数のサブエージェントを立ち上げ、それぞれに異なるワークツリーでの並行開発を指示することができます。設定ファイル(フロントマター)に「isolation: worktree」と記述するだけで、Claudeが自動的に環境を隔離してタスクを遂行します。また、新しいワークツリー・フックの導入により、Git以外のバージョン管理システムであるSVNやJujutsuへの対応も可能になっています。特定のスクリプトをワークツリー作成時に自動実行させるなど、プロフェッショナルな開発環境への統合が容易になっている点が強調されています。

現在の課題と今後の展望

最新のアップデートに伴い発生している既知の不具合と、その解決策について言及されています。多くのユーザーから機能フラグに関連するエラーが報告されていますが、開発チームによる公式な修正が待たれる状況です。興味深い解決策として、Claude Code自身に自分のプログラム(バイナリ)を修正させるという、AIツールならではの回避方法も提案されています。最後に、この機能が安定すれば開発ワークフローに不可欠なものになるとの期待が語られています。動画の締めくくりには、React開発者向けにアンチパターンを検知するツール「React Doctor」の紹介が行われ、さらなる学習を促しています。

Community Posts

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

Write about this video