Git worktree: fondasi untuk menjalankan banyak agen AI tanpa konflik

Agen kamu saling menimpa saat berjalan paralel. Git worktree memperbaikinya dalam dua perintah. Begini cara pakainya.

Kamu menjalankan dua agen di repo yang sama. Yang satu mengedit package.json, yang satunya juga. Tiga puluh detik kemudian kode kamu jadi kacau dan tidak ada yang bisa di-merge.

Itu bukan bug di agen kamu. Masalahnya, mereka semua bekerja di folder yang sama.

Solusinya adalah tool yang sudah ada di Git bertahun-tahun tapi hampir tidak ada yang pakai: git worktree.

Masalahnya: 3 agen, 1 repo, merge yang mustahil

Repo Git biasa itu satu folder dengan satu branch yang di-checkout pada satu waktu. Kamu kerja di main, kamu pindah branch, seluruh folder ikut berubah.

Sekarang masukkan tiga agen otonom ke folder itu. Mereka menulis di waktu bersamaan. Agen A membuat sebuah file, agen B menjalankan git checkout untuk mulai dari bersih dan menghapus pekerjaan A yang sedang berlangsung. Hasilnya: file setengah jadi, index yang berantakan, dan konflik yang lebih lama dibereskan daripada kalau kamu coding sendiri dari awal.

Paralelisme menghemat waktu kamu hanya kalau agen-agennya tidak saling bersentuhan.

Apa itu git worktree

Worktree adalah folder kerja kedua yang terhubung ke repo yang sama.

History sama, remote sama, tapi tiap worktree punya branch sendiri yang di-checkout dan file sendiri di disk. Kamu bisa punya lima sekaligus berdampingan, masing-masing di branch berbeda, tanpa saling mengganggu.

Satu .git, beberapa workspace. Cuma itu.

Satu worktree per agen, dalam praktik

Begini setup-nya. Dari repo kamu:

git worktree add ../project-auth -b feature/auth
git worktree add ../project-billing -b feature/billing
git worktree add ../project-export -b feature/export

Kamu baru saja membuat tiga folder, masing-masing di branch-nya sendiri. Kamu jalankan satu agen di tiap folder:

cd ../project-auth && claude
cd ../project-billing && codex

Tiap agen punya folder-nya, branch-nya, file-nya. Agen auth tidak akan pernah melihat apa yang dikerjakan agen billing. Tidak mungkin ada tabrakan.

Saat sebuah fitur sudah siap, kamu review branch-nya lalu merge. Setelah itu kamu bersih-bersih:

git worktree remove ../project-auth

Folder-nya hilang, branch-nya tetap ada di history kamu. Bersih.

3 jebakan yang perlu kamu tahu

Jebakan pertama: file pusat yang dipakai bersama. Kalau dua fitur sama-sama harus menyentuh routes.ts yang sama atau skema database yang sama, worktree tidak menyelamatkanmu, kamu tetap akan kena konflik saat merge. Satu agen menyentuh file yang dipakai semua orang, yang lain menunggu atau cari jalan memutar.

Kedua: branch yang melenceng. Sementara agen-agen kamu bekerja, main terus jalan. Tiga hari kemudian branch kamu ketinggalan dan merge jadi menyakitkan. Rebase lebih awal dan sesering mungkin, atau buat sesi yang pendek.

Ketiga: lupa bersih-bersih. Tiap worktree itu folder beneran di disk kamu. Sepuluh sehari tanpa dibersihkan, dan folder induk kamu jadi tidak terbaca. git worktree list menampilkan apa saja yang masih nyangkut, git worktree prune membuang yang sudah mati.

Jebakan keempat: worktree dimulai dalam keadaan kosong

Worktree hanya berisi file yang dilacak Git. git worktree add memberimu source code, bukan node_modules, bukan .venv, bukan .env berisi secret lokalmu, bukan cache build. Agen yang mulai di worktree baru tidak bisa menjalankan test, tidak bisa menyalakan dev server, dan sering tidak bilang kenapa: npm test gagal karena ada modul yang hilang, aplikasi gagal karena variabel lingkungan tidak ada, dan agen menghabiskan sepuluh menit pertamanya untuk urusan persiapan lingkungan alih-alih mengerjakan tiket.

Kami sendiri kena jebakan ini. Seorang pengguna menunjukkan bahwa opsi worktree di AgentsRoom tersembunyi di opsi lanjutan formulir agen, dan setiap agen yang dijalankan di worktree tidak punya dependency sama sekali dan tidak bisa menjalankan satu test pun. Dua-duanya benar. Isolasinya sudah ada, tapi tidak bisa dipakai tanpa langkah manual yang tidak diingat siapa pun.

Sejak versi 1.194.0, opsi ini ada di blok Isolasi pada formulir agen, terlihat tanpa perlu membuka apa pun, dan agen pertama yang dijalankan di worktree baru mendapatinya sudah disiapkan: AgentsRoom menyalin dari checkout utama file yang di-ignore yang cocok dengan sebuah pola (secara default semua .env*, tidak pernah menimpa, tidak pernah ke dalam node_modules atau .git), lalu menjalankan perintah instalasi yang terdeteksi dari lockfile (bun, pnpm, yarn, npm, uv, poetry, pipenv, bundle, composer) atau perintah yang kamu atur di pengaturan proyek. Perintah itu berjalan di terminal agen itu sendiri, jadi kamu bisa melihatnya, dan instalasi yang gagal tidak menghalangi agen untuk mulai. Ini terjadi sekali per worktree: sebuah penanda di folder git privat milik worktree memastikan peluncuran berikutnya melewati langkah ini.

Kalau kamu melakukannya secara manual, resepnya sama dan muat dalam satu skrip: salin .env*, jalankan instalasi, lalu mulai agennya. Bungkus git worktree add di dalamnya, atau kamu akan melupakannya di agen ketiga.

Pertanyaan sebenarnya: siapa yang mengawasi kelima folder itu?

Worktree menyelesaikan tabrakan file. Tapi worktree tidak menyelesaikan beban pikiran kamu.

Kamu punya lima folder, lima agen, lima terminal. Yang mana yang menunggu review kamu? Yang mana yang baru saja selesai sepuluh menit lalu waktu kamu lagi sibuk hal lain? Yang mana yang crash?

Di situlah satu worktree per agen mencapai batasnya kalau kamu tetap di terminal. Kamu sudah menyelesaikan konflik teknisnya, tapi kamu malah menggandakan jendela yang harus diawasi.

AgentsRoom menempatkan tiap agen di sebuah tile, lengkap dengan status dan warnanya, tidak peduli di worktree mana ia berjalan. Agen yang sedang menunggu berubah merah dan memanggil kamu. Baca cara menjalankan 3 sampai 8 agen secara paralel tanpa kehilangan kendali untuk metode lengkapnya sebagai pelengkap worktree.

Yang perlu kamu ingat

Satu agen, satu worktree, satu branch. Itu aturan dasar kerja multi-agen yang serius.

Perintahnya muat dalam tiga baris, manfaatnya langsung terasa: agen-agen kamu berhenti saling menimpa. Tambahkan satu tampilan yang memberitahu kamu mana yang butuh perhatianmu, dan kamu benar-benar bisa memegang lima pekerjaan paralel tanpa kehilangan akal.

Unduh AgentsRoom

Jalankan semua agen AI Anda, di semua proyek Anda, dari satu jendela.

GratisUnduh AgentsRoom

Aplikasi pendamping: pantau agen Anda saat bepergian

Gunakan Claude, Codex, Antigravity CLI, atau penyedia AI lainnya.

Dapatkan ekstensi
Chrome Web Store

Kirim bug dan permintaan langsung ke backlog publik Anda.

Beberapa proyek
Multi-penyedia
Beberapa agen
Status langsung
File diff & commit
Pendamping mobile
Pratinjau langsung
Tim agen
Otomatisasi browser
Dev berbasis backlog
Pustaka prompt
Pustaka skill
Lihat semua fitur

Lanjutkan membaca