Πριν από λίγες ημέρες , ανακοινώθηκε η κυκλοφορία της νέας έκδοσης του Git 2.3 , ενός από τα πιο δημοφιλή, αξιόπιστα και υψηλής απόδοσης συστήματα ελέγχου εκδόσεων, το οποίο παρέχει ευέλικτα μη γραμμικά εργαλεία ανάπτυξης που βασίζονται σε διακλαδώσεις και συγχωνεύσεις.
Σε σύγκριση με την προηγούμενη έκδοση, υιοθετήθηκαν 679 αλλαγές στη νέα έκδοση, η οποία προετοιμάστηκε με τη συμμετοχή 85 προγραμματιστών , εκ των οποίων οι 23 συμμετείχαν στην ανάπτυξη για πρώτη φορά.
Οι καλύτερες στιγμές του Git 2.31
Αυτή η νέα έκδοση του Git 2.31 περιλαμβάνει την προσθήκη της εντολής "git maintenance" , η οποία επιτρέπει την περιοδική συντήρηση σε συστήματα που δεν υποστηρίζουν το cron . Για παράδειγμα, με αυτήν τη νέα εντολή, μπορείτε να προγραμματίσετε την περιοδική εκκίνηση της διαδικασίας συσκευασίας του αποθετηρίου, εξαλείφοντας την ανάγκη αναμονής για την ολοκλήρωση του κλειδώματος του αποθετηρίου όταν η συσκευασία εκτελείται αυτόματα μετά την εκτέλεση πολλαπλών εντολών.
Μια άλλη αξιοσημείωτη αλλαγή είναι η προσθήκη υποστήριξης για τη διατήρηση ενός αντίστροφου ευρετηρίου στο δίσκο (revindex) για τα αρχεία πακέτων. Το Git αποθηκεύει όλα τα δεδομένα ως αντικείμενα, τα οποία φυλάσσονται σε ξεχωριστά αρχεία. Για να βελτιωθεί η αποτελεσματικότητα της εργασίας με το αποθετήριο, αυτά τα αντικείμενα οργανώνονται περαιτέρω σε αρχεία πακέτων, όπου οι πληροφορίες παρουσιάζονται ως μια ροή αντικειμένων που διαδέχονται το ένα το άλλο.
Για κάθε αρχείο πακέτων, δημιουργείται ένα αρχείο ευρετηρίου (.idx), το οποίο επιτρέπει τη χρήση του αναγνωριστικού αντικειμένου για τον γρήγορο προσδιορισμό της μετατόπισης εντός του αρχείου πακέτων όπου είναι αποθηκευμένο το αντικείμενο. Ο αντίστροφος δείκτης (.rev) που προτείνεται στο Git 2.31 στοχεύει στη βελτιστοποίηση της διαδικασίας προσδιορισμού ενός αναγνωριστικού αντικειμένου από πληροφορίες σχετικά με την τοποθεσία του αντικειμένου μέσα σε ένα αρχείο πακέτων.
Προηγουμένως, αυτή η μετατροπή πραγματοποιούνταν εν κινήσει κατά την ανάλυση ενός αρχείου πακέτου και αποθηκεύονταν μόνο στη μνήμη, κάτι που δεν επέτρεπε την επαναχρησιμοποίηση αυτών των ευρετηρίων και απαιτούσε τη δημιουργία του ευρετηρίου κάθε φορά. Η λειτουργία δημιουργίας ενός ευρετηρίου περιορίζεται στην κατασκευή ενός πίνακα ζευγών θέσης αντικειμένων και στην ταξινόμησή τους κατά θέση, κάτι που μπορεί να είναι πολύ χρονοβόρο για μεγάλα αρχεία πακέτων.
Επιπλέον, μπορούμε να διαπιστώσουμε ότι έχουν προστεθεί βελτιστοποιήσεις απόδοσης με βάση την εμφάνιση της μορφής αρχείου γραφήματος υποβολής , η οποία χρησιμοποιείται για τη βελτιστοποίηση της πρόσβασης σε πληροφορίες σχετικά με τις υποβολές, και νέα δεδομένα σχετικά με τον αριθμό των υποβολών που δημιουργούνται, τα οποία μπορούν να χρησιμοποιηθούν για την επιτάχυνση πρόσθετων λειτουργιών με υποβολές.
Επιπλέον, προστέθηκε η δυνατότητα παράκαμψης του προεπιλεγμένου ονόματος κλάδου σε νέα αποθετήρια (ρύθμιση init.defaultBranch). Κατά την πρόσβαση σε εξωτερικά αποθετήρια, το Git επιχειρεί να επαληθεύσει τον κλάδο στον οποίο υποδεικνύει το HEAD. Δηλαδή, εάν ο εξωτερικός διακομιστής χρησιμοποιεί τον κλάδο "main" από προεπιλογή, τότε η λειτουργία "git clone" θα επιχειρήσει να βρει τον κλάδο "main" τοπικά.
Άλλες αξιοσημείωτες αλλαγές περιλαμβάνουν:
- Η επιλογή «–χρήση δίσκου». προστέθηκε στην εντολή "git rev-list". για να εμφανίσετε μια περίληψη του μεγέθους των αντικειμένων.
- Καταργήθηκε η υποστήριξη για την καταργημένη βιβλιοθήκη τυπικών εκφράσεων PCRE1.
- Παρέχει τη δυνατότητα αυστηρής απαγόρευσης της χρήσης συντομεύσεων, ενεργώντας ανεξάρτητα από τον αλγόριθμο κατακερματισμού. Η απαγόρευση ενεργοποιείται ορίζοντας την τιμή "no" στην παράμετρο core.abbrev.
- Η επιλογή «–διαδρομή-μορφή» έχει προστεθεί στην εντολή «git rev-parse» για να ορίσει ρητά την έξοδο σχετικών ή απόλυτων διαδρομών.
- Τα σενάρια αυτόματης συμπλήρωσης Bash διευκολύνουν την προσθήκη κανόνων ολοκλήρωσης για προσαρμοσμένες υποεντολές git.
- Προστέθηκε η επιλογή «–stdin» στην εντολή «git bundle» για ανάγνωση συνδέσμων από την τυπική ροή εισόδου.
- Οι επιλογές «–μόνο αριστερά» και «–μόνο δεξιά» έχουν προστεθεί στην εντολή «git range-diff» για να εμφανίζεται μόνο η μία πλευρά του συγκριτικού εύρους.
- Προστέθηκε η επιλογή “–skip-to=”. στην εντολή "git difftool" για να συνεχίσετε μια κατεστραμμένη συνεδρία από μια αυθαίρετη διαδρομή.
- Ο Κώδικας Δεοντολογίας (Code of Conduct), ο οποίος ορίζει τις βασικές αρχές για την επίλυση διενέξεων μεταξύ προγραμματιστών, έχει ενημερωθεί στην έκδοση 2.0 (προηγουμένως χρησιμοποιήθηκε η έκδοση 1.4).
Τέλος, αν θέλετε να μάθετε περισσότερα σχετικά με αυτό , μπορείτε να συμβουλευτείτε τον παρακάτω σύνδεσμο.