Kopiatu 200 MB-ko fitxategi bat eta hegan doa. Exekutatu git status direktorio berean eta itxaronaldia nahikoa luzea da beste zereginean pentsatzeko. Bi behaketa horiek ez dira kontraesankorrak, bidalketa masiboak emaria neurtzen duelako, eta Gitek segundoko zenbat fitxategi-sistemako galdera txiki egin ditzakeen neurtzen duelako, eta muntatutako urruneko zuhaitz batek galdera bakoitza joan-etorri batean bihurtzen du. VPN-a doitzeak ez du gaizki moldatutako lan-karga konponduko.

Zergatik den status erreferentzia okerra

Gitek fitxategi askori buruz jakin behar du: zein dauden aldatuta, zein ez dauden jarraituak eta cachean dauden indize-datuek diskoan dagoenarekin bat egiten duten oraindik. SSHFSren gainean, behaketa horietako bakoitza sare-eragiketa izan daiteke. Lan-unitatea fitxategi-kopurua da hemen, ez megabyteak.

Horregatik da motel klonaren ondorengo lehen status, eta horregatik izan daitezke hurrengoak are motelagoak eraikuntza-irteeraz betetako zuhaitzean. Jarraitu gabekoen eskaneatzeak axola ez dizun direktorioetan zehar ibiltzen da, eta urrats bakoitza estekaren bidezko beste eskaera bat da. 40 ms-ko bidean, milaka sarrera dituen zuhaitza milaka joan-etorri bihurtzen da. Ez da pakete-kapturarik behar aritmetika hori baieztatzeko.

Deskarga-erreferentziak esteka ondo dagoela esaten dizu; ez du ezer esaten mila irakurketa txiki gaur arratsaldean amaituko diren ala ez.

Mugitu lan-zuhaitza, ez doikuntza-botoiak

Klon lokal batek lan-zuhaitza, indizea eta Giten eragiketak makina berean jartzen ditu. Pull sare-urrats ikusgai bihurtzen da, fitxategi-egiaztapen bakoitza hori izan beharrean.

Hau egokia da garatzaileak behar duen iturburua lokalean eduki dezakeen beti, eta gehienetan hala da. Commitaren eta inplementazioaren arteko muga ere zorrozten du, fitxategi lokal bat editazeak jada ez baitu ustekabean martxan dagoen urruneko zerbitzu bat aldatzen; aldaketa beste edozer bezala bidali eta inplementatu behar da. Trukea kodea bi tokitan egotea da, beraz erabaki zein kopia den autoritatea eta nola itzultzen den zerbitzariko konponketa azkar bat gordailura. Elkarrizketa hori inork exekutatu nahi ez duen status komando bat baino merkeagoa da.

Lan-eremuak urrun jarraitu behar badu, exekutatu Git han

Batzuetan lan-eremua ezin da mugitu: eraikuntzak ingurune hori behar du, datuak handiegiak dira edo politikak iturburua ostalarian mantentzen du. Orduan exekutatu Git eta dagozkion garapen-tresnak fitxategien ondoan, onartutako urruneko shell baten edo urruneko garapen-ingurune baten bidez. Editorea eramangarrian gera daiteke, haren backend-a lan-zuhaitzaren ondoan lan egiten duen bitartean.

Eragiketa garestiak orduan urruneko ostalarian lokalki gertatzen dira, eta sareak editorearen trafikoa eramaten du milaka stat deiaren ordez. Klon lokalaren konponbide bera da, inplementazio-aukeraren gisa adierazita, migrazio gisa eta ez.

Sinkronizazioa jabeak dituen lan-fluxua da, ez cache bat

Sinkronizatutako lan-eremu batek errepikatutako urruneko irakurketak murrizten ditu, baina ez da cache garden bat. Aldaketa bakoitzeko jabe bat behar du, gatazketarako arau bat eta bi aldeek berenak direlakoan dauden sortutako fitxategiei buruzko akordio bat. Arau horiek gabe, antolamenduak desadostasuna sortzen du, erosotasuna eta ez.

Norabide biko sinkronizatzaile batek, horiek gabe, konpondu zuenaren desberdina den arazo bat sortzen du, normalean inork egotzi ezin duen bat-egite bat. Saihestu bi Git prozesu lan-zuhaitz partekatu batean exekutatzea, nola koordinatzen diren ulertzen ez baduzu.

Ondoren doitu, eta mantendu SSH zentzuzkoa

Antolamendua zuzena denean, bi ezarpenek aldatzen dute Gitek zenbat fitxategiri buruz galdetu behar duen: status.showUntrackedFiles eta core.untrackedCache atzean dagoen jarraitu gabekoen cachea. Batak ere ez du 40 ms-tan galdera bakoitzaren kostua aldatzen; zenbat galdera dauden bakarrik aldatzen dute. Biratu botoi bat joan-etorriak lokalak direnean soilik.

Neurtu aztoratzen zaituen komandoaren denbora, fitxategi handi bat kopiatzen duen erreferentzia batetik arrazoitu beharrean, eta utzi onartutako SSH zifratzea bakean. Zifratze zaharkitu batek ez du joan-etorria laburtzen; lehenengoak baino gehiago irauten duen bigarren arazo bat gehitzen du. Git status erreferentzia irakurketa bat merezi du, komandoak bere izenak iradokitzen duena baino askoz lan gehiago egiten baitu.

Erlazionatutako artikuluak