200 MB faylni koʻchiring va u uchadi. Oʻsha papkada git status ishga tushiring va kutish boshqa narsaga oʻtishga yetadigan darajada uzoq boʻladi. Bu ikki kuzatuv qarama-qarshi emas, chunki ommaviy uzatish oʻtkazish qobiliyatini oʻlchaydi, Git esa sekundiga qancha kichik fayl tizimi savolini bera olishini oʻlchaydi, va ulangan masofaviy daraxt har bir savolni borib-kelishga aylantiradi. VPNni sozlash notoʻgʻri shakllangan yuklamani tuzatmaydi.

Nega status notoʻgʻri mezon

Git koʻplab fayllar haqida bilishi kerak: qaysi biri oʻzgargan, qaysi biri kuzatilmayapti va keshlangan indeks maʼlumotlari hali ham diskdagiga mos keladimi. SSHFS orqali bu kuzatuvlarning har biri tarmoq operatsiyasi boʻlishi mumkin. Bu yerda ish birligi — fayllar soni, megabayt emas.

Shuning uchun klondan keyingi birinchi status sekin, va shuning uchun qurilish chiqindisiga toʻla daraxtda keyingilari yanada sekin boʻlishi mumkin. Kuzatilmaydiganlarni skanerlash sizni qiziqtirmasligi mumkin boʻlgan papkalardan oʻtadi va har bir qadam bogʻlanish orqali yana bir soʻrovdir. 40 ms yoʻlda bir necha ming yozuvli daraxt bir necha ming borib-kelishga aylanadi. Bu arifmetikani tasdiqlash uchun paket tutish shart emas.

Yuklab olish mezoni bogʻlanish yaxshi deb aytadi; minglab kichik oʻqish bugun tushdan keyin tugaydimi-yoʻqmi, bu haqda hech narsa demaydi.

Ish daraxtini koʻchiring, sozlash dastaklarini emas

Mahalliy klon ish daraxtini, indeksni va Git operatsiyalarini bir mashinaga qoʻyadi. Pull koʻrinadigan tarmoq qadamiga aylanadi, har bir fayl tekshiruvi emas.

Bu dasturchi kerakli manbani mahalliy saqlay olganda mos keladi va koʻpincha shunday boʻladi. Shuningdek commit va joylashtirish chegarasini oʻtkirlashtiradi, chunki mahalliy faylni tahrirlash endi tasodifan ishlab turgan masofaviy xizmatni oʻzgartirmaydi; oʻzgarish boshqa hamma narsa kabi push qilinishi va joylashtirilishi kerak. Narxi — kod ikki joyda mavjud, shuning uchun qaysi nusxa yetakchi ekanini va serverdagi shoshilinch tuzatish qanday qilib omborga qaytishini hal qiling. Bu suhbat hech kim ishga tushirishni xohlamaydigan status buyrugʻidan arzon.

Agar ish maydoni masofada qolishi kerak boʻlsa, Gitni oʻsha yerda ishga tushiring

Baʼzan ish maydonini koʻchirish mumkin emas: qurilish oʻsha muhitni talab qiladi, maʼlumot juda katta yoki siyosat manbani xostda ushlab turadi. Unda Git va tegishli dasturlash vositalarini fayllar yonida, tasdiqlangan masofaviy qobiq yoki masofaviy dasturlash muhiti orqali ishga tushiring. Muharrir noutbukda qolishi mumkin, uning backend qismi ish daraxti yonida ishlayotganda.

Qimmat operatsiyalar unda masofaviy xostda mahalliy tarzda sodir boʻladi va tarmoq minglab stat chaqiruvlari oʻrniga muharrir trafigini tashiydi. Bu mahalliy klon bilan bir xil tuzatish, migratsiya emas, joylashtirish tanlovi sifatida ifodalangan.

Sinxronlash — egalari bor ish oqimi, kesh emas

Sinxronlangan ish maydoni takroriy masofaviy oʻqishlarni kamaytirishi mumkin, ammo u shaffof kesh emas. Unga har bir oʻzgarish uchun egasi, nizolar uchun qoida va ikkala tomon ham oʻziniki deb hisoblaydigan yaratilgan fayllar boʻyicha kelishuv kerak. Bu qoidalarsiz tartib qulaylik oʻrniga kelishmovchilik tugʻdiradi.

Ularsiz ikki tomonlama sinxronlash oʻzi hal qilgan muammodan boshqa muammo tugʻdiradi, odatda hech kim bogʻlay olmaydigan birlashtirish. Ikkita Git jarayonini bitta umumiy ish daraxtida ishga tushirishdan saqlaning, agar ular qanday muvofiqlashishini tushunmasangiz.

Keyin sozlang va SSHni aqliy tuting

Tartib toʻgʻri boʻlgach, ikkita sozlama Git qancha fayl haqida soʻrashini oʻzgartiradi: status.showUntrackedFiles va core.untrackedCache orqasidagi kuzatilmaydigan kesh. Hech biri 40 ms boʻylab har bir savolning narxini oʻzgartirmaydi; ular faqat savollar sonini oʻzgartiradi. Dastakni faqat borib-kelishlar mahalliy boʻlgach buring.

Bitta katta faylni koʻchiradigan mezondan mulohaza yuritish oʻrniga sizni bezovta qiladigan buyruqning vaqtini oʻlchang, va qoʻllab-quvvatlanadigan SSH shifrlashini oʻz holicha qoldiring. Eskirgan shifr borib-kelishni qisqartirmaydi; u birinchisidan uzoq yashaydigan ikkinchi muammoni qoʻshadi. git status maʼlumotnomasi bir marta oʻqishga arziydi, chunki buyruq nomi aytganidan ancha koʻp ish qiladi.

O'xshash maqolalar