Ekwuwapụtala mwepụta nke sistemụ njikwa isi mmalite nkesa Git 2.37. Git bụ otu n'ime usoro njikwa ụdị kachasị ewu ewu, ntụkwasị obi na arụmọrụ dị elu, na-enye ngwaọrụ mmepe na-abụghị nke kwụ ọtọ dabere na ngalaba na ijikọ. Iji hụ na iguzosi ike n'ezi ihe nke akụkọ ihe mere eme na iguzogide mgbanwe mgbanwe, a na-eji hashing nke akụkọ ihe mere eme gara aga eme ihe na ntinye nke ọ bụla, ọ ga-ekwe omume iji mbinye aka dijitalụ nke ndị mmepe mee ya.
N'iji ya tụnyere ntọhapụ gara aga, a nakweere mgbanwe 395 n'ime ụdị ọhụrụ ahụ, nke a kwadebere na ntinye nke ndị mmepe 75, nke 20 so na mmepe maka oge mbụ. Isi ihe ọhụrụ:
- Usoro nke nrịbama nke akụkụ (ntụpọ index), na-ekpuchi naanị akụkụ nke ebe nchekwa ahụ, adịla njikere maka ojiji zuru ebe niile. Ndepụta akụkụ nwere ike imeziwanye arụmọrụ ma chekwaa ohere na ebe nchekwa ndị na-arụ ọrụ cloning (sparse-checkout) ma ọ bụ na-arụ ọrụ na nnomi na-ezughị ezu nke ebe nchekwa. Ntọhapụ ọhụrụ ahụ mezuru ntinye nke ndepụta akụkụ n'ime ihe ngosi git, git sparse-checkout, na iwu git stash. A na-ahụta uru arụmọrụ a na-ahụ anya site na iji ntinye akụkụ akụkụ ya na iwu git stash, nke hụrụ mmụba 80% na ọsọ igbu oge n'ọnọdụ ụfọdụ.
- Emebela usoro “cruft packs” ọhụrụ maka ịkwakọ ihe ndị a na-apụghị irute na nke a na-edoghị anya na ebe nchekwa (ọ bụghị alaka ma ọ bụ mkpado ekwughị ya). Ndị na-ekpofu ihe na-ehichapụ ihe ndị a na-apụghị iru eru, mana na-anọ na ebe nchekwa ruo oge ụfọdụ tupu ihichapụ ha ka ịzenarị ọnọdụ agbụrụ. Iji soro oge ihe omume nke ihe ndị a na-apụghị iru eru, ọ dị mkpa itinye mkpado na ha na oge mgbanwe nke ihe ndị yiri ya, nke na-adịghị ekwe ka ịchekwa ha n'otu faịlụ ngwugwu nke ihe niile nwere oge mgbanwe oge. Na mbụ, ịchekwa ihe ọ bụla na faịlụ dị iche na-eduga ná nsogbu mgbe enwere ọnụ ọgụgụ dị ukwuu nke ihe ọhụrụ, ihe a na-apụghị iru eru nke na-erubeghị ihichapụ. Usoro "cruft packs" a na-atụ aro na-enye gị ohere ịchekwa ihe niile a na-apụghị ịchọta na otu faịlụ ngwugwu, ma tụgharịa data na oge mgbanwe nke ihe ọ bụla na tebụl dị iche iche echekwara na faịlụ nwere ndọtị ".mtimes".
- Maka Windows na macOS, enwere usoro arụnyere maka nsuso mgbanwe na sistemụ faịlụ, na-enye gị ohere ịzere ịkọgharị akwụkwọ ndekọ aha niile mgbe ị na-arụ ọrụ dị ka “git status”. Na mbụ, iji soro mgbanwe, ihe ndị dị na mpụga maka nsochi mgbanwe na FS, dị ka Watchman, nwere ike jikọọ site na nko, ma nke a chọrọ ntinye nke mmemme na nhazi ọzọ. Ugbu a arụrụ ọrụ a kapịrị ọnụ, enwere ike ịme ya site na iwu "git config core.fsmonitor true".
- N'ime iwu "git sparse-checkout", nkwado maka usoro ọzọ na ọnọdụ "-cone", ekwupụtala usoro nke ịkọwapụta ndebiri maka cloning akụkụ, nke na-enye ohere, mgbe ị na-achọpụta akụkụ nke ebe nchekwa ahụ dị n'okpuru. arụ ọrụ cloning, iji depụta faịlụ n'otu n'otu site na iji ".gitignore" syntax, nke na-adịghị ekwe ka ojiji maka njikarịcha akụkụ akụkụ.
- Mmụba mgbanwe n'ịhazi fsync() oku iji wụnye mgbanwe na diski. Agbakwunyela nkwado maka atụmatụ mmekọrịta nke "batch" na paramita "core.fsyncMethod", nke na-enye ohere ịrụ ọrụ ngwa ngwa mgbe ị na-ede ọnụ ọgụgụ dị ukwuu nke faịlụ nke onye ọ bụla site n'ịgbakọta mgbanwe na cache ederede, nke na-emegharị site na otu fsync () kpọọ. Nnwale ahụ, nke mere ka agbakwunyere faịlụ 500 site na iji iwu "git add", emechara na 0.15 sekọnd mgbe agbanyere ọnọdụ ọhụrụ ahụ, mgbe ọ na-akpọ fsync() were 1.88 sekọnd maka faịlụ ọ bụla, na-ejighi fsync - 0.06 sekọnd.
- Iwu njem n'alaka dị ka "git log" na "git rev-list" nwere nhọrọ "-since-as-filter=X" nke na-enye gị ohere inyocha ozi gbasara mmebe ndị tọrọ "X". N'adịghị ka nhọrọ "-ebe", a na-emejuputa iwu ọhụrụ ahụ dị ka nzacha nke na-adịghị akwụsị ọchụchọ ahụ mgbe nke mbụ mechara karịa oge a kapịrị ọnụ.
- N'iwu "git remote", mgbe ị na-akọwapụta ọkọlọtọ "-v", a na-egosipụta ozi gbasara clones akụkụ nke ebe nchekwa ahụ.
- Agbakwunyere ntọala "transfer.credentialsInUrl", nke nwere ike were ụkpụrụ"dọ aka ná ntị", "nwụọ" na "kwere". Ọ bụrụ na akọwapụtara ya na paramita “remote. nzere .url" dị larịị, ịnwa ịrụ ọrụ "butere" ma ọ bụ "push" ga-ada na mperi ma ọ bụrụ na atọrọ ntọala "transfer.credentialsInUrl" ka ọ bụrụ "anwụ", ma ọ bụ ịdọ aka ná ntị ma ọ bụrụ na atọrọ ka ọ bụrụ "ịdọ aka ná ntị".
- Site na ndabara, a na-akwado mmejuputa iwu ọhụrụ nke ụdị mmekọrịta nke iwu “git add-i”, nke edegharịrị site na Perl gaa na C.
isi: opennet.ru
