Το Git 2.37 έχει ήδη κυκλοφορήσει και αυτά είναι τα νέα του

Η έναρξη του τη νέα έκδοση του Git 2.37, που είναι ένα από τα τα πιο δημοφιλή συστήματα ελέγχου εκδόσεων, αξιόπιστο και υψηλής απόδοσης λογισμικό που παρέχει ευέλικτα μη γραμμικά εργαλεία ανάπτυξης που βασίζονται σε πιρούνια και συγχωνεύσεις πιρουνιών.

Για να διασφαλιστεί η ακεραιότητα του ιστορικού και η αντίσταση στις αλλαγές, χρησιμοποιείται το "προς τα πίσω" σιωπηρό κατακερματισμό όλου του προηγούμενου ιστορικού σε κάθε δέσμευση, είναι επίσης δυνατό να επαληθευτούν οι ψηφιακές υπογραφές μεμονωμένων ετικετών και προγραμματιστών δέσμευσης.

Οι καλύτερες στιγμές του Git 2.37

Σε σύγκριση με την προηγούμενη έκδοση, 395 αλλαγές έγιναν δεκτές στη νέα έκδοση, προετοιμάστηκε με τη συμμετοχή 75 προγραμματιστών, εκ των οποίων οι 20 συμμετείχαν στην ανάπτυξη για πρώτη φορά.

Σε αυτήν τη νέα έκδοση τονίζεται ότι ο μηχανισμός των μερικών δεικτών (αραιό ευρετήριο), που καλύπτει μόνο μέρος του αποθετηρίου, se έχει προετοιμαστεί για ευρεία χρήση. Τα μερικά ευρετήρια μπορούν να βελτιώσουν την απόδοση και να εξοικονομήσουν χώρο σε αποθετήρια που εκτελούν λειτουργίες μερικής κλωνοποίησης (αραιό ταμείο) ή λειτουργούν σε ένα ημιτελές αντίγραφο του αποθετηρίου.

Η νέα έκδοση ολοκληρώνει το έργο του ενσωμάτωση μερικών ευρετηρίων σε εντολές "git show", "git sparse-checkout" και "git stash". Το πιο αξιοσημείωτο κέρδος απόδοσης από τη χρήση μερικών ευρετηρίων είναι η εντολή "git stash", η οποία είναι έως και 80% ταχύτερη σε ορισμένες περιπτώσεις.

Μια άλλη αλλαγή που ξεχωρίζει είναι ότι έχει τεθεί σε εφαρμογή ένας νέος μηχανισμός «cruft pack». για να πακετάρετε μη προσβάσιμα αντικείμενα που δεν αναφέρονται στο αποθετήριο (δεν αναφέρονται από κλάδους ή ετικέτες). Ο συλλέκτης σκουπιδιών διαγράφει αντικείμενα που δεν είναι προσβάσιμα, αλλά παραμένουν στο χώρο αποθήκευσης για ορισμένο χρονικό διάστημα πριν τα διαγράψει για να αποφευχθούν οι συνθήκες αγώνα. Για την παρακολούθηση της περιόδου των μη προσβάσιμων αντικειμένων, απαιτείται δέσμευση, επισημαίνονται με τον χρόνο αλλαγής παρόμοιων αντικειμένων, κάτι που δεν τους επιτρέπει να αποθηκευτούν σε ένα αρχείο δέσμης, στο οποίο όλα τα αντικείμενα έχουν κοινό χρόνο τροποποίησης.

Αποθηκεύοντας κάθε αντικείμενο που χρησιμοποιήθηκε προηγουμένως σε ξεχωριστό αρχείο, το αρχείο προκάλεσε προβλήματα παρουσία μεγάλου αριθμού νέων μη προσβάσιμων αντικειμένων, όχι ακόμη. Ο προτεινόμενος μηχανισμός "cruft pack" επιτρέπει την αποθήκευση όλων των μη προσβάσιμων αντικειμένων σε ένα αρχείο δέσμης και τα δεδομένα σχετικά με το χρόνο τροποποίησης κάθε αντικειμένου αντικατοπτρίζονται σε έναν ξεχωριστό πίνακα που είναι αποθηκευμένος σε ένα αρχείο με την επέκταση ".mtimes".

Για Windows και macOS, υπάρχει ενσωματωμένος μηχανισμός για να παρακολουθείτε τις αλλαγές στο σύστημα αρχείων, το οποίο εξαλείφει την ανάγκη να καταχωρίσετε ολόκληρο τον κατάλογο εργασίας όταν εκτελείτε λειτουργίες όπως "κατάσταση git". Προηγουμένως, για να παρακολουθείτε αλλαγές μέσω αγκίστρων, μπορούσατε να συνδέσετε εξωτερικά βοηθητικά προγράμματα παρακολούθησης αλλαγών συστήματος αρχείων, όπως το Watchman, αλλά αυτό απαιτούσε την εγκατάσταση πρόσθετων προγραμμάτων και διαμορφώσεων. Αυτή η λειτουργία είναι πλέον ενσωματωμένη και μπορεί να ενεργοποιηθεί με το "git config core.fsmonitor true".

Η εντολή Το "git sparse-checkout" διέκοψε την υποστήριξη για μια εναλλακτική στη λειτουργία "--cone" ορισμός προτύπου για μερική κλωνοποίηση, ο οποίος επιτρέπει, κατά τον ορισμό του τμήματος του αποθετηρίου που υπόκειται στη λειτουργία κλωνοποίησης, την παράθεση μεμονωμένων αρχείων χρησιμοποιώντας τη σύνταξη ".gitignore", η οποία δεν επιτρέπει τη χρήση για βελτιστοποίηση μερικών ευρετηρίων.

Από τις άλλες αλλαγές που ξεχωρίζουν:

  • Βελτιωμένη ευελιξία στη ρύθμιση παραμέτρων της κλήσης fsync() για την flush των αλλαγών στο δίσκο.
  • Προστέθηκε υποστήριξη για τη στρατηγική συγχρονισμού "batch" στην παράμετρο "core.fsyncMethod", η οποία επιταχύνει την εργασία κατά την εγγραφή μεγάλου αριθμού χωριστών αρχείων συγκεντρώνοντας αλλαγές στην κρυφή μνήμη επανεγγραφής που ξεπλένονται με μία κλήση fsync().
  • Οι εντολές διέλευσης όπως "git log" και "git rev-list" έχουν πλέον την επιλογή "–since-as-filter=X" για να φιλτράρουν πληροφορίες σχετικά με δεσμεύσεις παλαιότερες από το "X".
  • Στην εντολή "git remote", ο καθορισμός της σημαίας "-v" παρέχει πληροφορίες σχετικά με μερικούς κλώνους του αποθετηρίου.
  • Προστέθηκε η ρύθμιση "transfer.credentialsInUrl", η οποία μπορεί να λάβει τις τιμές "warn", "die" και "allow". Εάν η παράμετρος «απομακρυσμένη. Το .url καθορίζει τα διαπιστευτήρια σε απλό κείμενο, μια προσπάθεια εκτέλεσης λειτουργιών "get" ή "push" θα αποτύχει εάν η ρύθμιση "transfer.credentialsInUrl" οριστεί σε "die" ή μια προειδοποίηση εάν έχει οριστεί σε "warn" .
  • Από προεπιλογή, χρησιμοποιείται η νέα εφαρμογή διαδραστικής λειτουργίας της εντολής "git add -i", η οποία ξαναγράφεται από την Perl σε C.

Τελικά αν ενδιαφέρεστε να μάθετε περισσότερα γι 'αυτό, μπορείτε να ελέγξετε τις λεπτομέρειες Στον ακόλουθο σύνδεσμο.


Αφήστε το σχόλιό σας

Η διεύθυνση email σας δεν θα δημοσιευθεί. Τα υποχρεωτικά πεδία σημειώνονται με *

*

*

  1. Υπεύθυνος για τα δεδομένα: Miguel Ángel Gatón
  2. Σκοπός των δεδομένων: Έλεγχος SPAM, διαχείριση σχολίων.
  3. Νομιμοποίηση: Η συγκατάθεσή σας
  4. Κοινοποίηση των δεδομένων: Τα δεδομένα δεν θα κοινοποιούνται σε τρίτους, εκτός από νομική υποχρέωση.
  5. Αποθήκευση δεδομένων: Βάση δεδομένων που φιλοξενείται από τα δίκτυα Occentus (ΕΕ)
  6. Δικαιώματα: Ανά πάσα στιγμή μπορείτε να περιορίσετε, να ανακτήσετε και να διαγράψετε τις πληροφορίες σας.