Menu
CoddyTech

Git Worktree

Terakhir diperbarui

git worktree memungkinkan satu repositori punya beberapa direktori kerja sekaligus, masing-masing di branch yang berbeda. Daripada melakukan stash pada pekerjaanmu untuk pindah branch, kamu checkout branch lain di folder terpisah: meninjau PR, mengerjakan hotfix, atau build satu branch sambil mengedit branch lain, semuanya berbagi riwayat .git yang sama.

Coba perintah-perintah ini di playground terminal: shell sungguhan di browsermu, tanpa perlu instalasi.

git worktree membuka branch kedua di foldernya sendiri: satu repositori, dua direktori kerja.

Sintaks

PerintahFungsinya
git worktree add ../hotfix hotfixCheckout hotfix di folder sebelah
git worktree add -b new ../newMembuat branch beserta worktree-nya
git worktree listMenampilkan semua worktree beserta branch-nya
git worktree remove ../hotfixMenghapus worktree
git worktree pruneMembersihkan entri worktree yang usang

Contoh langkah demi langkah

Perbaiki bug di main tanpa mengganggu feature branch-mu.

LangkahPerintahHasil
1git worktree add ../fix mainmain di-checkout di ../fix
2Perbaiki dan commit di ../fixHotfix di main selesai
3git worktree remove ../fixBersihkan; feature branch tidak tersentuh

Pertanyaan seputar git worktree

Apa itu git worktree?
Worktree adalah direktori kerja tambahan yang terhubung ke repositori yang sama, dengan checkout ke branch atau commit yang berbeda. Dengan worktree, kamu bisa membuka beberapa branch sekaligus di folder terpisah, semuanya berbagi satu riwayat .git, jadi kamu tidak perlu stash atau clone untuk mengerjakan dua branch bersamaan.
Bagaimana cara menambahkan worktree?
Jalankan git worktree add <path> <branch>, misalnya git worktree add ../hotfix hotfix. Git melakukan checkout branch itu ke folder baru. Untuk sekaligus membuat branch baru, pakai git worktree add -b <newbranch> <path>.
Kapan sebaiknya memakai worktree daripada pindah branch?

Pakai saat pindah branch akan merepotkan: kamu punya pekerjaan yang belum di-commit, build panjang yang tidak ingin kamu hentikan, atau kamu perlu membandingkan dua branch berdampingan. Worktree memberimu branch lain di foldernya sendiri tanpa menyentuh branch saat ini.

Bagaimana cara menghapus worktree?
Jalankan git worktree remove <path>. Kalau folder-nya sudah dihapus secara manual, jalankan git worktree prune untuk membersihkan catatan yang usang. Kamu tidak bisa menghapus worktree utama (folder repo asli), hanya worktree tambahan yang kamu buat.
Bisakah saya berlatih ini secara online?
Bisa. Buka playground terminal untuk menjalankan git worktree di shell sungguhan di browsermu, tanpa perlu instalasi. Kursus Git interaktif gratis dari Coddy juga membahas alur kerja dengan branch langkah demi langkah.
Ilustrasi bahasa pemrograman di Coddy

Belajar Git bersama Coddy

Mulai