απελευθέρωση ενός συστήματος ελέγχου κατανεμημένης πηγής . Το Git είναι ένα από τα πιο δημοφιλή, αξιόπιστα και υψηλών επιδόσεων συστήματα ελέγχου εκδόσεων, που παρέχει ευέλικτα μη γραμμικά εργαλεία ανάπτυξης που βασίζονται στη διακλάδωση και τη συγχώνευση. Για να διασφαλιστεί η ακεραιότητα του ιστορικού και η αντίσταση σε αναδρομικές αλλαγές, χρησιμοποιείται σιωπηρός κατακερματισμός ολόκληρου του προηγούμενου ιστορικού σε κάθε δέσμευση και είναι επίσης δυνατή η πιστοποίηση μεμονωμένων ετικετών και δεσμεύσεων με ψηφιακές υπογραφές προγραμματιστών.
Σε σύγκριση με την προηγούμενη έκδοση, η νέα έκδοση περιλαμβάνει 505 αλλαγές που προετοιμάστηκαν με τη συμμετοχή 77 προγραμματιστών, 26 από τους οποίους συμμετείχαν στην ανάπτυξη για πρώτη φορά. Κύριος :
- Εισάγονται οι πειραματικές εντολές "git switch" και "git restore", οι οποίες αποσκοπούν στον διαχωρισμό χαλαρά σχετικών λειτουργιών του "git checkout", όπως ο χειρισμός κλάδων (εναλλαγή και δημιουργία) και η επαναφορά αρχείων στον κατάλογο εργασίας ("git checkout $commit - $filename") ή απευθείας στην περιοχή staging ("--staging", δεν έχει ανάλογο στο "git checkout"). Αξίζει να σημειωθεί ότι, σε αντίθεση με το "git checkout", το "git restore" αφαιρεί τα μη παρακολουθούμενα αρχεία από τους αποκατεστημένους καταλόγους ("--no-overlay" από προεπιλογή).
- Προστέθηκε η επιλογή "git merge --quit", η οποία, όπως και η επιλογή "--abort", σταματά τη διαδικασία συγχώνευσης κλάδων αλλά αφήνει τον κατάλογο εργασίας ανέπαφο. Αυτή η επιλογή μπορεί να είναι χρήσιμη εάν ορισμένες από τις αλλαγές που έγιναν κατά τη διάρκεια μιας χειροκίνητης συγχώνευσης είναι προτιμότερο να κυκλοφορήσουν ως ξεχωριστή υποβολή.
- Οι εντολές 'git clone', 'git fetch' και 'git push' λαμβάνουν πλέον υπόψη την παρουσία υποβολών στα συνδεδεμένα αποθετήρια ();
- οι επιλογές "git blame --ignore-rev" και "--ignore-revs-file", οι οποίες σας επιτρέπουν να παρακάμψετε υποβολές που περιέχουν μικρές επεξεργασίες (όπως διορθώσεις μορφοποίησης).
- Προστέθηκε η επιλογή "git cherry-pick --skip" για παράλειψη μιας υποβολής σε διένεξη (απομνημονευμένο ισοδύναμο της ακολουθίας "git reset && git cherry-pick --continue").
- Προστέθηκε η ρύθμιση status.aheadBehind για να οριστεί μόνιμα η επιλογή "git status --[no-]ahead-behind".
- Από αυτήν την έκδοση, το "git log" θα λαμβάνει υπόψη τις αλλαγές στο mailmap από προεπιλογή, όπως ακριβώς κάνει ήδη το git shortlog.
- Η λειτουργία ενημέρωσης της πειραματικής προσωρινής μνήμης γραφήματος υποβολής (core.commitGraph) που εισήχθη στην έκδοση 2.18 έχει επιταχυνθεί σημαντικά. Επίσης, έχει επιταχυνθεί το git for-each-ref κατά τη χρήση πολλαπλών προτύπων και ο αριθμός των κλήσεων auto-gc στο "git fetch --multiple" έχει μειωθεί.
- Η συνάρτηση "git branch --list" πλέον εμφανίζει πάντα την αποσπασμένη HEAD στην αρχή της λίστας, ανεξάρτητα από τις τοπικές ρυθμίσεις.
Πηγή: opennet.ru
