git worktree adalah direktori kerja terpisah dengan file dan cabang sendiri, berbagi riwayat repositori dan remote yang sama dengan checkout utama Anda. Menjalankan setiap sesi Claude Code dalam worktree-nya sendiri berarti edit dalam satu sesi tidak akan pernah menyentuh file di sesi lain, sehingga Anda dapat memiliki Claude membangun fitur di satu terminal sambil memperbaiki bug di terminal kedua. Halaman ini mencakup isolasi worktree di CLI. Semuanya di bawah mengasumsikan repositori git. Untuk sistem kontrol versi lainnya, lihat Non-git version control. Aplikasi desktop membuat worktree untuk setiap sesi baru secara otomatis. Worktrees adalah salah satu dari beberapa cara untuk menjalankan Claude secara paralel. Mereka mengisolasi edit file, sementara subagents dan agent teams mengoordinasikan pekerjaan itu sendiri. Lihat Run agents in parallel untuk membandingkan pendekatan, atau lompat ke Isolate subagents with worktrees untuk menggunakan worktrees dan subagents bersama-sama.Documentation Index
Fetch the complete documentation index at: https://code.claude.com/docs/llms.txt
Use this file to discover all available pages before exploring further.
Mulai Claude dalam worktree
Lewatkan--worktree atau -w untuk membuat worktree terisolasi dan memulai Claude di dalamnya. Secara default, worktree dibuat di bawah .claude/worktrees/<value>/ di root repositori Anda, pada cabang baru bernama worktree-<value>:
WorktreeCreate. Jalankan perintah lagi dengan nama berbeda di terminal lain untuk memulai sesi terisolasi kedua:
bright-running-fox:
EnterWorktree.
Sebelum menggunakan --worktree di direktori untuk pertama kalinya, terima dialog kepercayaan workspace dengan menjalankan claude sekali di direktori tersebut. Jika kepercayaan belum diterima, --worktree keluar dengan kesalahan dan meminta Anda untuk menjalankan claude di direktori terlebih dahulu, termasuk ketika digabungkan dengan -p.
Pilih cabang dasar
Worktrees bercabang dari cabang default repositori Anda,origin/HEAD, sehingga mereka dimulai dari pohon bersih yang cocok dengan remote. Jika tidak ada remote yang dikonfigurasi atau pengambilan gagal, worktree kembali ke HEAD lokal Anda saat ini. Untuk selalu bercabang dari HEAD lokal, atur worktree.baseRef ke "head" dalam settings. Mengatur baseRef ke "head" membuat worktree baru membawa commit yang belum didorong dan status cabang fitur Anda, yang berguna saat mengisolasi subagent yang perlu beroperasi pada pekerjaan yang sedang berlangsung. Pengaturan hanya menerima "fresh" atau "head", bukan git refs arbitrer:
#, atau URL pull request GitHub lengkap. Claude Code mengambil pull/<number>/head dari origin dan membuat worktree di .claude/worktrees/pr-<number>:
WorktreeCreate, yang menggantikan logika git worktree default sepenuhnya.
Salin file yang diabaikan git ke dalam worktrees
Worktree adalah checkout segar, jadi file yang tidak dilacak seperti.env atau .env.local dari repositori utama Anda tidak ada. Untuk menyalinnya secara otomatis saat Claude membuat worktree, tambahkan file .worktreeinclude ke root proyek Anda.
File menggunakan sintaks .gitignore. Hanya file yang cocok dengan pola dan juga diabaikan git yang disalin, sehingga file yang dilacak tidak pernah diduplikasi.
.worktreeinclude ini menyalin dua file env dan konfigurasi rahasia ke setiap worktree baru:
.worktreeinclude
--worktree, subagent worktrees, dan sesi paralel dalam aplikasi desktop.
Isolasi subagents dengan worktrees
Subagents dapat berjalan dalam worktrees mereka sendiri sehingga edit paralel tidak bertabrakan. Minta Claude untuk “gunakan worktrees untuk agen Anda”, atau atur secara permanen pada subagent kustom dengan menambahkanisolation: worktree ke frontmatter. Setiap subagent mendapatkan worktree sementara yang dihapus secara otomatis saat subagent selesai tanpa perubahan.
Bersihkan worktrees
Saat Anda keluar dari sesi worktree, pembersihan tergantung pada apakah Anda membuat perubahan:- Tidak ada perubahan: worktree dan cabangnya dihapus secara otomatis
- Perubahan atau commit ada: Claude meminta Anda untuk menyimpan atau menghapus worktree. Menyimpan mempertahankan direktori dan cabang sehingga Anda dapat kembali nanti. Menghapus menghapus direktori worktree dan cabangnya, membuang semua perubahan dan commit yang belum dilakukan
- Jalankan non-interaktif: worktrees yang dibuat dengan
--worktreebersama dengan-ptidak dibersihkan secara otomatis karena tidak ada prompt keluar. Hapus dengangit worktree remove
cleanupPeriodDays Anda, asalkan mereka tidak memiliki perubahan yang belum dilakukan, tidak ada file yang tidak dilacak, dan tidak ada commit yang belum didorong. Worktrees yang Anda buat dengan --worktree tidak pernah dihapus oleh sapuan ini.
Kelola worktrees secara manual
Untuk kontrol penuh atas lokasi worktree dan konfigurasi cabang, buat worktrees dengan Git secara langsung. Ini berguna saat Anda perlu checkout cabang yang ada tertentu atau menempatkan worktree di luar repositori. Buat worktree pada cabang baru:Non-git version control
Isolasi worktree menggunakan git secara default. Untuk SVN, Perforce, Mercurial, atau sistem lainnya, konfigurasikan hookWorktreeCreate dan WorktreeRemove untuk menyediakan logika pembuatan dan pembersihan kustom. Karena hook menggantikan perilaku git default, .worktreeinclude tidak diproses saat Anda menggunakan --worktree. Salin file konfigurasi lokal apa pun di dalam skrip hook Anda.
Hook WorktreeCreate ini membaca nama worktree dari stdin, checkout salinan kerja SVN segar, dan mencetak jalur direktori sehingga Claude Code dapat menggunakannya sebagai direktori kerja sesi:
WorktreeRemove untuk membersihkan saat sesi berakhir. Lihat referensi hooks untuk skema input dan contoh penghapusan.
Lihat juga
Worktrees menangani isolasi file. Halaman terkait di bawah mencakup pendelegasian pekerjaan ke checkout terisolasi tersebut dan beralih antar sesi yang Anda buat:- Subagents: delegasikan pekerjaan ke agen terisolasi dalam sesi
- Agent teams: koordinasikan beberapa sesi Claude secara otomatis
- Manage sessions: beri nama, lanjutkan, dan beralih antar percakapan
- Desktop parallel sessions: sesi yang didukung worktree dalam aplikasi desktop