Jalankan ejen secara selari
Panduan ini menunjukkan cara menjalankan beberapa ejen pada masa yang sama tanpa mereka menulis ganti kerja satu sama lain.
Unit pengasingan ialah ruang, bukan ejen
Bahagian bertajuk “Unit pengasingan ialah ruang, bukan ejen”Apabila kerja bermula dalam sesuatu ruang, Control Center menyediakan satu checkout copy-on-write bagi setiap repo berdaftar di bawah akar ruang itu sendiri, pada cawangan yang diperoleh daripada templat cawangan ruang kerja. Setiap ejen dalam ruang itu kemudian mendapat direktori kerja overlay sendiri — tetapi lapisan overlay itu berkongsi direktori repos/ ruang berkenaan.
Justeru:
- Dua ejen dalam ruang berbeza bekerja dalam checkout berbeza, pada cawangan berbeza. Itulah pengasingan sebenar.
- Dua ejen dalam ruang yang sama bekerja dalam checkout yang sama, pada cawangan yang sama. Laluan overlay mereka berbeza, jadi kunci laluan penghantaran (yang hanya menjadikan larian bersiri apabila ia meminta direktori kerja yang sama) juga tidak menjadikan mereka bersiri. Mereka boleh menulis fail yang sama pada masa yang sama.
Peraturan yang menyusul: satu ruang bagi setiap tugas selari.
Jalankan tugas secara selari — ruang berasingan
Bahagian bertajuk “Jalankan tugas secara selari — ruang berasingan”- Buka ruang dengan ejen A dan hantar satu tugas kepadanya.
- Buka ruang kedua dengan ejen B dan hantar satu tugas yang berbeza kepadanya.
- Kedua-duanya dihantar serta-merta, masing-masing dalam checkout ruangnya sendiri pada cawangannya sendiri.
Inilah resipi yang perlu digunakan apabila ejen akan menyunting fail.
Bekerjasama dalam satu ruang — beberapa sebutan
Bahagian bertajuk “Bekerjasama dalam satu ruang — beberapa sebutan”Dalam satu ruang, @-sebut lebih daripada satu ejen:
@alice refactor the auth module. @bob review what alice lands.Kedua-dua ejen dihantar secara selari dan menstrim ke dalam ruang yang sama, ditag mengikut penghantar. Kerana mereka berkongsi checkout ruang itu, gunakan ini untuk kolaborasi — seorang menulis, seorang membaca, atau dua ejen menaakul tentang pokok yang sama — bukan untuk dua suntingan bebas.
Lakukan fan-out daripada pipeline
Bahagian bertajuk “Lakukan fan-out daripada pipeline”Templat pr_review terbina dalam ialah contoh fan-out yang disertakan: beberapa nod penyemak berjalan serentak daripada satu pencetus dan nod Consolidate (join) melipat penemuan mereka menjadi satu laporan. Jalankannya dari skrin Pipeline dan setiap penyemak dihantar secara selari.
Editor pipeline menyembunyikan sentinel terminal dan menyambung semulanya untuk menunggu setiap sink yang ada apabila anda menambah atau menyambung langkah, jadi cabang yang anda lukis sendiri memang berjalan.
Perhatikan mereka berjalan
Bahagian bertajuk “Perhatikan mereka berjalan”Kebolehcerapan → Langsung (pengaki bar sisi → Kebolehcerapan, kemudian tab Langsung) memaparkan senarai ejen ruang kerja ini, berdetik semula setiap saat: status (berjalan / terlengah / diparkir / digugurkan), apa yang sedang dilakukan oleh setiap ejen, token dan kos bagi larian terbaharunya serta kawalan henti paksa untuk proses yang sedang berjalan. Memilih satu baris menambat laci transkrip langsung.
Tetapan → Ruang kerja → Ejen memaparkan senarai yang sama dengan kosa kata status yang berbeza dan mengutamakan perhatian, diperoleh daripada sejarah larian setiap ejen — berjalan, disekat, gagal, terlengah, belum ada larian — disusun supaya apa-apa yang memerlukan perhatian muncul di atas. Tab Log setiap ejen menyimpan sejarah lariannya sendiri.
Kedua-dua permukaan berskop kepada ruang kerja aktif.
Tangani konflik
Bahagian bertajuk “Tangani konflik”Merentas ruang, setiap ruang berada pada cawangannya sendiri, jadi perlanggaran muncul sebagai konflik cantuman Git biasa apabila anda mencantumkan pull request kedua. Selesaikannya seperti mana-mana konflik cantuman.
Di dalam satu ruang tiada sempadan cawangan dan tiada kunci: ejen-ejen menulis fail yang sama secara langsung dan yang tewas hanya ditulis ganti. Jika anda mendapati diri anda ingin dua ejen menyunting dalam satu ruang, pecahkan kerja itu kepada dua ruang sebaliknya.
Untuk mengurangkan perlanggaran dalam kedua-dua keadaan:
- Berikan setiap ejen skop yang berbeza — fail berbeza, modul berbeza.
- Gunakan graf kod untuk menyemak apa yang disentuh oleh sesuatu perubahan sebelum menghantar. Lihat Cari kod dengan graf kod.
- Semak dan cantumkan pull request setiap ejen dengan segera.
Pertimbangan sumber
Bahagian bertajuk “Pertimbangan sumber”Setiap ejen yang berjalan menelan kos:
- Satu checkout ruang — boleh diabaikan pada cakera selagi copy-on-write tersedia; pada Windows, satu
git worktree. Sistem fail yang tidak boleh melakukan reflink menggagalkan penyediaan itu dan bukannya menyalin. - Satu proses pada hos pelayan
- Token model, yang terkumpul bagi setiap ejen
Kos terkumpul dalam Kebolehcerapan → Wawasan. Perhatikan bahawa giliran interaktif biasa tiada siling perbelanjaan; lihat Urus kos untuk dua perintah yang memilikinya.