Rilis kontrol sumber Git 2.36

Sawise telung sasi pembangunan, sistem kontrol sumber sing disebarake Git 2.36 wis dirilis. Git minangka salah sawijining sistem kontrol versi sing paling populer, dipercaya lan kinerja dhuwur, nyedhiyakake alat pangembangan non-linear sing fleksibel adhedhasar cabang lan gabung. Kanggo mesthekake integritas sejarah lan resistensi marang owah-owahan retroaktif, hashing implisit saka kabeh riwayat sadurunge digunakake ing saben komitmen; uga bisa kanggo nandhani tag individu lan komitmen karo teken digital saka pangembang.

Dibandhingake karo rilis sadurunge, 717 owah-owahan diadopsi menyang versi anyar, disiapake kanthi partisipasi 96 pangembang, sing 26 pisanan melu pembangunan. Inovasi utama:

  • Printah "git log" lan "git show" saiki duwe opsi "-remerge-diff" sing ngidini sampeyan nuduhake beda antarane asil sakabèhé saka gabungan lan data nyata sing dibayangke ing commit sawise ngolah printah "merge" , sing ngidini sampeyan ngevaluasi kanthi jelas owah-owahan sing ditindakake minangka asil ngrampungake konflik penggabungan. Printah "git show" normal nglebokake resolusi konflik sing beda-beda, nggawe owah-owahan angel dimangerteni. Contone, ing gambar ing ngisor iki baris "+/-" tanpa indentasi nuduhake resolusi pungkasan konflik sing ana gandhengane karo ganti jeneng sha1 dadi oid ing komentar ing cabang pisanan, lan "+/-" kanthi indentasi nuduhake wiwitan. resolusi konflik sing disebabake dening munculé argumen tambahan ing cabang kapindho ing fungsi dwim_ref ().
    Rilis kontrol sumber Git 2.36

    Nalika nggunakake opsi "--remerge-diff", beda antarane resolusi konflik ora dipisahake kanggo saben cabang induk, nanging beda sakabèhé ing antarane file sing wis nggabungake konflik lan file sing wis konflik ditanggulangi ditampilake.

    Rilis kontrol sumber Git 2.36

  • Tambah keluwesan ing configuring prilaku kanggo siram cache disk liwat telpon kanggo fungsi fsync (). Parameter core.fsyncObjectFiles sing kasedhiya sadurunge wis dipérang dadi rong variabel konfigurasi core.fsync lan core.fsyncMethod, nyedhiyakake kemampuan kanggo aplikasi fsync ora mung kanggo file obyek (.git/objek), nanging uga kanggo struktur git liyane kayata pranala ( .git /refs), reflog lan file paket.

    Nggunakake variabel core.fsync, sampeyan bisa nemtokake dhaptar struktur Git internal sing fsync uga bakal disebut sawise operasi nulis. Variabel core.fsyncMethod ngijini sampeyan kanggo milih cara kanggo siram cache, contone, sampeyan bisa milih fsync kanggo nggunakake telpon sistem saka jeneng sing padha, utawa nemtokake writeout-mung kanggo nggunakake pagecache writeback.

  • Kanggo nglindhungi saka kerentanan sing ngapusi pangguna liyane ngganti direktori .git menyang bagean sing dienggo bareng, verifikasi pemilik repositori wis dikuatake. Nglakokake printah git saiki mung diijini ing direktori ".git" dhewe. Yen direktori karo repositori kagungane pangguna liyane, mula kesalahan bakal ditampilake kanthi standar. Prilaku iki bisa dipateni nggunakake setelan safe.directory.
  • Printah "git cat-file", sing dimaksudake kanggo ngasilake isi sumber obyek Git, wis ditambah karo opsi "--batch-command", sing nglengkapi "--batch" lan "--batch-check" sing kasedhiya sadurunge. ” printah kanthi kemampuan kanggo milih jinis output kanthi adaptif nggunakake " isi <objek>" kanggo nampilake konten utawa "info <objek>" kanggo nampilake informasi babagan obyek kasebut. Tambahan, printah "flush" didhukung kanggo flush buffer output.
  • Kanggo printah "git ls-tree", sing dimaksudake kanggo nggawe dhaptar isi wit obyek, opsi "-oid-only" ("-object-only") wis ditambahake, padha karo "-name-only". ”, mung nampilake pengenal obyek kanggo nyederhanakake telpon saka skrip. Uga dileksanakake yaiku opsi "--format", sing ngidini sampeyan nemtokake format output dhewe kanthi nggabungake informasi babagan mode, jinis, jeneng lan ukuran.
  • Printah "git bisect run" ngetrapake deteksi ora nyetel gendera file sing bisa dieksekusi kanggo skrip lan ing kasus iki nampilake kesalahan karo kode 126 utawa 127 (sadurunge, yen skrip ora bisa ditindakake, kabeh revisi ditandhani minangka masalah) .
  • Nambahake opsi --refetch menyang perintah "git fetch" kanggo njupuk kabeh obyek tanpa menehi informasi marang pihak liya babagan konten sing wis ana ing sistem lokal. Prilaku iki bisa migunani kanggo mbalekake saka kegagalan nalika integritas data lokal ora mesthi.
  • Perintah "git update-index", "git checkout-index", "git read-tree" lan "git clean" saiki ndhukung indeks parsial kanggo nambah kinerja lan ngirit ruang ing repositori sing nindakake operasi indeks parsial. kloning (sparse-checkout) ).
  • Prilaku perintah "git clone —filter=... —recurse-submodules" wis diganti, sing saiki ndadékaké kloning parsial submodul (sadurungé, nalika nglakokaké prentah kasebut, panyaring kasebut mung ditrapake ing konten utama, lan submodul wis ana. kloning rampung tanpa njupuk menyang akun filter).
  • Printah "git bundle" nambahake dhukungan kanggo nemtokake saringan kanggo nyelehake konten kanthi selektif, padha karo operasi kloning parsial.
  • Nambahake opsi "--recurse-submodules" menyang printah "git branch" kanggo ngliwati submodules kanthi rekursif.
  • Userdiff nawakake pawang anyar kanggo basa Kotlin.

Source: opennet.ru

Add a comment