Git 2.37 telah dirilis dan ini adalah beritanya

Peluncuran versi baru dari Git 2.37, yang merupakan salah satu sistem kontrol versi paling populer, perangkat lunak yang andal, dan berkinerja tinggi yang menyediakan alat pengembangan nonlinier fleksibel berdasarkan fork dan penggabungan fork.

Untuk memastikan integritas riwayat dan ketahanan terhadap perubahan, hash implisit "mundur" dari semua riwayat sebelumnya digunakan pada setiap komit, juga memungkinkan untuk memverifikasi tanda tangan digital masing-masing tag dan pengembang komit.

Fitur Utama Git 2.37

Dibandingkan dengan versi sebelumnya, 395 perubahan diterima dalam versi baru, disiapkan dengan partisipasi 75 pengembang, di mana 20 di antaranya berpartisipasi dalam pengembangan untuk pertama kalinya.

Dalam versi baru ini disorot itu mekanisme indeks parsial (indeks jarang), yang hanya mencakup sebagian dari repositori, se telah disiapkan untuk digunakan secara luas. Indeks parsial dapat meningkatkan kinerja dan menghemat ruang di repositori yang melakukan operasi kloning parsial (sparse checkout) atau beroperasi pada salinan repositori yang tidak lengkap.

Versi baru menyelesaikan pekerjaan integrasi indeks parsial dalam perintah "git show", "git sparse-checkout", dan "git stash". Keuntungan kinerja yang paling terlihat dari penggunaan indeks parsial adalah pada perintah "git stash", yang meningkat hingga 80% lebih cepat dalam beberapa situasi.

Perubahan lain yang menonjol adalah itu mekanisme "cruft packs" baru telah diterapkan untuk mengemas objek yang tidak dapat dijangkau yang tidak dirujuk dalam repositori (tidak dirujuk oleh cabang atau tag). Pengumpul sampah menghapus objek yang tidak dapat dijangkau, tetapi objek tersebut tetap berada di repositori selama waktu tertentu sebelum menghapusnya untuk menghindari kondisi balapan. Untuk melacak periode objek yang tidak dapat dijangkau, pengikatan diperlukan, mereka ditandai dengan waktu perubahan objek serupa, yang tidak memungkinkan mereka untuk disimpan dalam file bundel, di mana semua objek memiliki waktu modifikasi yang sama.

Menyimpan setiap objek yang sebelumnya digunakan dalam file terpisah, file tersebut menyebabkan masalah dengan adanya sejumlah besar objek baru yang tidak dapat dijangkau, belum. Mekanisme "cruft packs" yang diusulkan memungkinkan semua objek yang tidak terjangkau disimpan dalam file bundel, dan data tentang waktu modifikasi setiap objek tercermin dalam tabel terpisah yang disimpan dalam file dengan ekstensi ".mtimes".

Untuk Windows dan macOS, ada mekanisme bawaan untuk melacak perubahan pada sistem file, yang menghilangkan kebutuhan untuk membuat daftar seluruh direktori kerja saat melakukan operasi seperti "status git". Sebelumnya, untuk melacak perubahan melalui kait, Anda dapat menghubungkan utilitas pelacakan perubahan sistem file eksternal, seperti Watchman, tetapi ini memerlukan instalasi program dan konfigurasi tambahan. Fungsionalitas ini sekarang sudah terpasang dan dapat diaktifkan dengan "git config core.fsmonitor true".

Perintah "git sparse-checkout" telah berhenti mendukung alternatif untuk mode "--cone" definisi template untuk kloning parsial, yang memungkinkan, ketika mendefinisikan bagian repositori yang tunduk pada operasi kloning, untuk membuat daftar file individual menggunakan sintaks ".gitignore", yang tidak mengizinkan penggunaan untuk mengoptimalkan indeks parsial.

Dari perubahan lainnya yang menonjol:

  • Peningkatan fleksibilitas dalam mengonfigurasi panggilan fsync() untuk menghapus perubahan ke disk.
  • Menambahkan dukungan untuk strategi sinkronisasi "batch" ke parameter "core.fsyncMethod", yang mempercepat pekerjaan saat menulis sejumlah besar file terpisah dengan mengumpulkan perubahan dalam cache penulisan ulang yang dihapus oleh satu panggilan fsync().
  • Perintah traversal seperti “git log” dan “git rev-list” sekarang memiliki opsi “–sejak-sebagai-filter=X” untuk memfilter informasi tentang komit yang lebih lama dari “X”.
  • Dalam perintah "git remote", menentukan flag "-v" memberikan informasi tentang klon parsial repositori.
  • Menambahkan pengaturan "transfer.credentialsInUrl", yang dapat mengambil nilai "peringatkan", "mati" dan "izinkan". Jika parameter “jarak jauh. .url" menentukan kredensial dalam teks biasa, upaya untuk melakukan operasi "dapatkan" atau "push" akan gagal jika setelan "transfer.credentialsInUrl" disetel ke "mati", atau peringatan jika disetel ke "peringatkan" .
  • Secara default, implementasi mode interaktif baru dari perintah "git add -i", yang ditulis ulang dari Perl ke C, digunakan.

Akhirnya jika Anda tertarik untuk mengetahui lebih banyak tentangnya, Anda dapat memeriksa detailnya Di tautan berikut.


tinggalkan Komentar Anda

Alamat email Anda tidak akan dipublikasikan. Bidang yang harus diisi ditandai dengan *

*

*

  1. Penanggung jawab data: Miguel Ángel Gatón
  2. Tujuan data: Mengontrol SPAM, manajemen komentar.
  3. Legitimasi: Persetujuan Anda
  4. Komunikasi data: Data tidak akan dikomunikasikan kepada pihak ketiga kecuali dengan kewajiban hukum.
  5. Penyimpanan data: Basis data dihosting oleh Occentus Networks (UE)
  6. Hak: Anda dapat membatasi, memulihkan, dan menghapus informasi Anda kapan saja.