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

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

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

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

Σε σύγκριση με την προηγούμενη έκδοση, έγιναν δεκτές 717 αλλαγές στη νέα έκδοση, που ετοιμάστηκε με τη συμμετοχή 96 προγραμματιστών, εκ των οποίων οι 26 συμμετείχαν στην ανάπτυξη για πρώτη φορά. Βασικές καινοτομίες:

η επιλογή "–remerge-diff" προστέθηκαν στις εντολές "git log" και "git show" για εμφάνιση διαφορών μεταξύ του συνολικού αποτελέσματος της συγχώνευσης και των πραγματικών δεδομένων που αντικατοπτρίζονται στην δέσμευση μετά την επεξεργασία της εντολής "συγχώνευση", η οποία σας επιτρέπει να αξιολογήσετε οπτικά τις αλλαγές που έγιναν ως αποτέλεσμα της επίλυσης συγκρούσεων συγχώνευσης. Η συνηθισμένη εντολή "git show" διαχωρίζει τις διαφορετικές λύσεις διενέξεων με εσοχή, καθιστώντας τις αλλαγές δυσνόητες.

Όταν χρησιμοποιείτε την επιλογή “–remerge-diff”, οι διαφορές μεταξύ των επιλύσεων διενέξεων δεν διαχωρίζονται για κάθε γονικό κλάδο, αλλά εμφανίζονται οι συνολικές διαφορές μεταξύ ενός αρχείου που έχει διενέξεις συγχώνευσης και ενός αρχείου που έχει επιλύσει διενέξεις.

Μια άλλη αξιοσημείωτη αλλαγή είναι η βελτιωμένη ευελιξία στην προσαρμογή συμπεριφοράς από το flushing cache του δίσκου μέσω της κλήσης της συνάρτησης fsync(). Παράμετρος core.fsyncObjectFiles προηγουμένως διαθέσιμο έχει χωριστεί σε δύο μεταβλητές διαμόρφωσης core.fsync και core.fsyncMethod, το οποίο παρέχει τη δυνατότητα εφαρμογής fsync όχι μόνο σε αρχεία αντικειμένων (.git/objects), αλλά και σε άλλες δομές git όπως refs ( .git /refs), reflog και αρχεία πακέτων.

μέσω μεταβλητής core.fsync, μπορείτε να καθορίσετε μια λίστα εσωτερικών δομών Git, μετά τη λειτουργία εγγραφής, για την οποία θα κληθεί επιπλέον το fsync. Η μεταβλητή core.fsyncMethod σας επιτρέπει να επιλέξετε μια μέθοδο για την έκπλυση της κρυφής μνήμης, για παράδειγμα, μπορείτε να επιλέξετε fsync για να χρησιμοποιήσετε την κλήση συστήματος με το ίδιο όνομα ή να καθορίσετε μόνο εγγραφή για χρήση εκκρεμούς lazywriting (σελίδα cache lazywriting).

Για προστασία από τρωτά σημεία που χειρίζονται την αντικατάσταση καταλόγων .git από άλλους χρήστες σε κοινόχρηστα διαμερίσματα, Η επαλήθευση κατόχου αποθετηρίου έχει ενισχυθεί. Τώρα επιτρέπεται μόνο η εκτέλεση εντολών git στους δικούς τους καταλόγους ".git". Εάν ο κατάλογος αποθετηρίου ανήκει σε άλλο χρήστη, θα δημιουργηθεί ένα σφάλμα από προεπιλογή. Αυτή η συμπεριφορά μπορεί να απενεργοποιηθεί χρησιμοποιώντας τη ρύθμιση ασφαλούς καταλόγου.

Τονίζεται επίσης ότι πρόσθεσε την επιλογή «–batch-command» στην εντολή «git cat-file», που προορίζεται να δημιουργήσει το αρχικό περιεχόμενο των αντικειμένων Git, συμπληρώνοντας τις εντολές «–batch» και «–batch-check» προηγουμένως διαθέσιμο με δυνατότητα προσαρμοστικής επιλογής τύπου εξόδου μέσω «περιεχομένου » για εμφάνιση περιεχομένου ή «πληροφορίες » για εμφάνιση πληροφοριών σχετικά με το αντικείμενο. Επίσης, υποστηρίζεται μια εντολή "flush" για την έκπλυση του buffer εξόδου.

Από την άλλη πλευρά, τονίζεται ότι προστέθηκε η επιλογή «–μόνο για ειδήσεις» («–μόνο αντικείμενο») στην εντολή "git ls-tree", η οποία έχει σχεδιαστεί για να παραθέτει τα περιεχόμενα ενός δέντρου αντικειμένων που, κατ' αναλογία με το "–name -only", εμφανίζει μόνο αναγνωριστικά αντικειμένων για να απλοποιήσει τις κλήσεις από σενάρια. Υλοποιείται επίσης η επιλογή «–format», η οποία σας επιτρέπει να ορίσετε τη δική σας μορφή εξόδου συνδυάζοντας πληροφορίες λειτουργίας, τύπου, ονόματος και μεγέθους.

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

  • Στην εντολή "git bisect run", εφαρμόζεται ο ορισμός της μη ρύθμισης του σήματος ενός εκτελέσιμου αρχείου για το σενάριο και της δημιουργίας σφαλμάτων με τους κωδικούς 126 ή 127 σε αυτήν την περίπτωση (προηγουμένως, εάν το σενάριο δεν μπορούσε να εκτελεστεί, όλες οι αναθεωρήσεις γίνονταν επισημάνθηκε ως με προβλήματα).
  • Προστέθηκε η επιλογή “–refetch” στην εντολή “git fetch” για ανάκτηση όλων των αντικειμένων χωρίς να ενημερώνεται η άλλη πλευρά του περιεχομένου που βρίσκεται ήδη στο τοπικό σύστημα. Αυτή η συμπεριφορά μπορεί να είναι χρήσιμη για την επαναφορά της κατάστασης μετά από αποτυχίες, όταν υπάρχει αβεβαιότητα σχετικά με την ακεραιότητα των τοπικών δεδομένων.
  • Οι εντολές "git update-index", "git checkout-index", "git read-tree" και "git clean" υποστηρίζουν πλέον μερική ευρετηρίαση (sparse index) για βελτίωση της απόδοσης και εξοικονόμηση χώρου στα αποθετήρια που εκτελούν μερικές λειτουργίες. (κακή πληρωμή).
  • Άλλαξε η συμπεριφορά της εντολής «git clone –filter=… –recurse-submodules», η οποία τώρα οδηγεί σε μερική κλωνοποίηση υπομονάδων (προηγουμένως, κατά την εκτέλεση τέτοιων εντολών, το φίλτρο εφαρμοζόταν μόνο στο κύριο περιεχόμενο και οι υπομονάδες κλωνοποιήθηκαν πλήρως χωρίς να ληφθούν υπόψη λογαριασμό το φίλτρο).
  • Προστέθηκε υποστήριξη για τον καθορισμό φίλτρων για επιλεκτική τοποθέτηση περιεχομένου στην εντολή "git bundle", παρόμοια με λειτουργίες μερικού κλώνου.
  • Προστέθηκε η επιλογή «–recurse-submodules» στην εντολή «git branch» για αναδρομική διέλευση υπομονάδων.
    Ο Userdiff πρότεινε ένα νέο πρόγραμμα οδήγησης για τη γλώσσα Kotlin.

Τελικά αν ενδιαφέρεστε να μάθετε περισσότερα γι 'αυτό σχετικά με αυτήν τη νέα έκδοση του Git 2.36 μπορείτε να συμβουλευτείτε τις λεπτομέρειες στο τον ακόλουθο σύνδεσμο.


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

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

*

*

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