Git 2.36 telah dilancarkan dan ini adalah berita baru

Selepas tiga bulan pembangunan versi baharu sistem telah dikeluarkan kawalan kod sumber yang diedarkan «Git 2.36» salah satu sistem kawalan versi yang paling popular, boleh dipercayai dan berprestasi tinggi yang menyediakan alat pembangunan bukan linear yang fleksibel berdasarkan garpu dan gabungan garpu.

Untuk memastikan integriti sejarah dan penentangan terhadap perubahan "mundur", cincangan tersirat bagi semua sejarah terdahulu digunakan pada setiap komit. Ia juga mungkin untuk mengesahkan tandatangan digital pembangun label dan pengesahan individu.

Ciri-ciri Baru Git 2.36

Berbanding dengan keluaran sebelumnya, 717 perubahan telah diterima dalam versi baharu, disediakan dengan penyertaan 96 pembangun, di mana 26 daripadanya mengambil bahagian dalam pembangunan buat kali pertama. Inovasi utama:

Pilihan “–remerge-diff” ditambahkan pada arahan “git log” dan “git show” untuk menunjukkan perbezaan antara hasil keseluruhan gabungan dan data sebenar yang dicerminkan dalam komit selepas memproses perintah "gabung", yang membolehkan anda menilai secara visual perubahan yang dibuat hasil daripada penyelesaian konflik gabungan. Perintah "git show" biasa memisahkan resolusi konflik yang berbeza dengan lekukan, menjadikan perubahan sukar difahami.

Apabila menggunakan pilihan “–remerge-diff”, perbezaan antara penyelesaian konflik tidak dipisahkan untuk setiap cawangan induk, tetapi perbezaan keseluruhan antara fail yang telah menggabungkan konflik dan fail yang telah menyelesaikan konflik ditunjukkan.

Satu lagi perubahan ketara ialah fleksibiliti yang lebih baik dalam penyesuaian tingkah laku daripada mengepam cache cakera melalui panggilan fungsi fsync(). Parameter core.fsyncObjectFiles yang tersedia sebelum ini telah dibahagikan kepada dua pembolehubah konfigurasi core.fsync dan core.fsyncMethod, yang menyediakan keupayaan untuk menggunakan fsync bukan sahaja pada fail objek (.git/objects), tetapi juga kepada struktur git lain seperti refs ( .git /refs), reflog dan fail pakej.

melalui pembolehubah core.fsync, anda boleh menentukan senarai struktur Git dalaman, selepas operasi tulis, yang mana fsync akan dipanggil tambahan. Pembolehubah core.fsyncMethod membolehkan anda memilih kaedah untuk membuang cache, sebagai contoh, anda boleh memilih fsync untuk menggunakan panggilan sistem dengan nama yang sama, atau menentukan tulis sahaja untuk menggunakan lazywriting yang belum selesai (halaman cache lazywriting).

Untuk melindungi daripada kelemahan yang mengendalikan penggantian direktori .git oleh pengguna lain pada partition kongsi, pengesahan pemilik repositori telah diperkukuh. Kini hanya menjalankan mana-mana arahan git dalam direktori ".git" mereka sendiri dibenarkan. Jika direktori repositori dimiliki oleh pengguna lain, ralat akan dijana secara lalai. Tingkah laku ini boleh dilumpuhkan menggunakan tetapan direktori selamat.

Ia juga diketengahkan bahawa menambah pilihan "–batch-command" kepada arahan "git cat-file", yang bertujuan untuk menjana kandungan asal objek Git, melengkapkan arahan “–batch” dan “–batch-check” sebelum ini tersedia dengan keupayaan untuk menyesuaikan jenis output melalui "kandungan » untuk memaparkan kandungan atau «info » untuk memaparkan maklumat tentang objek. Juga, arahan "flush" disokong untuk mengepam penimbal output.

Sebaliknya, ia diketengahkan bahawa menambah pilihan “–oid-sahaja” (“–objek-sahaja”) kepada arahan "git ls-tree", yang direka untuk menyenaraikan kandungan pokok objek yang, dengan analogi dengan "–name -only", hanya memaparkan pengecam objek untuk memudahkan panggilan daripada skrip. Pilihan "–format" juga dilaksanakan, yang membolehkan anda menentukan format output anda sendiri dengan menggabungkan maklumat mod, jenis, nama dan saiz.

Daripada perubahan yang lain yang menonjol dari versi baru ini:

  • Dalam arahan "git bisect run", takrifan untuk tidak menetapkan tanda fail boleh laku untuk skrip dan menjana ralat dengan kod 126 atau 127 dalam kes ini dilaksanakan (sebelum ini, jika skrip tidak dapat dilaksanakan, semua ulasan adalah ditandakan sebagai mempunyai masalah).
  • Menambahkan pilihan "–refetch" pada arahan "git fetch" untuk mengambil semua objek tanpa memaklumkan bahagian lain kandungan yang sudah ada pada sistem setempat. Tingkah laku ini boleh berguna untuk memulihkan keadaan selepas kegagalan apabila terdapat ketidakpastian tentang integriti data setempat.
  • Perintah "git update-index", "git checkout-index", "git read-tree", dan "git clean" kini menyokong pengindeksan separa (indeks jarang) untuk meningkatkan prestasi dan menjimatkan ruang pada repositori yang menjalankan operasi separa. (bayaran yang lemah).
  • Mengubah tingkah laku perintah "git clone --filter=... --recurse-submodules", yang kini membawa kepada pengklonan separa submodul (sebelum ini, semasa melaksanakan arahan sedemikian, penapis hanya digunakan pada kandungan utama dan submodul sepenuhnya diklon tanpa mengambil kira penapis).
  • Menambah sokongan untuk menentukan penapis untuk penempatan terpilih kandungan dalam arahan "git bundle", serupa dengan operasi klon separa.
  • Menambahkan pilihan "–recurse-submodules" pada arahan "git branch" untuk melintasi submodul secara rekursif.
    Userdiff telah mencadangkan pemacu baharu untuk bahasa Kotlin.

Akhirnya sekiranya anda berminat untuk mengetahui lebih lanjut mengenainya tentang versi baharu Git 2.36 ini, anda boleh merujuk butirannya pautan berikut.


Tinggalkan komen anda

Alamat email anda tidak akan disiarkan. Ruangan yang diperlukan ditanda dengan *

*

*

  1. Bertanggungjawab atas data: Miguel Ángel Gatón
  2. Tujuan data: Mengendalikan SPAM, pengurusan komen.
  3. Perundangan: Persetujuan anda
  4. Komunikasi data: Data tidak akan disampaikan kepada pihak ketiga kecuali dengan kewajiban hukum.
  5. Penyimpanan data: Pangkalan data yang dihoskan oleh Occentus Networks (EU)
  6. Hak: Pada bila-bila masa anda boleh menghadkan, memulihkan dan menghapus maklumat anda.