Το Git είναι ένα από τα πιο διαδεδομένα συστήματα ελέγχου κατανεμημένων εκδόσεων, τα οποία περιγράφουν οι προγραμματιστές σε όλο τον κόσμο ως η πρώτη υπηρεσία VCS. Εκτελείται μόνο από το τερματικό, αλλά πολλά από τα μπροστινά άκρα είναι διαθέσιμα για λήψη.
Πρόκειται για μια εφαρμογή ελεύθερου και ανοιχτού κώδικα ελέγχου εκδόσεων που μπορεί να χειριστεί τόσο μεγάλα όσο και μικρά έργα με μέγιστη απόδοση και ταχύτητα. Το πρόγραμμα μπορεί εύκολα να περιγραφεί ως μικρό, γρήγορο και κατανεμημένο.
Επιλογές γραμμής εντολών
Το πρόγραμμα έρχεται με μια χούφτα εντολές που μπορεί εύκολα να θυμηθεί κανείς από το get-go. Όλες οι λειτουργίες εκτελούνται τοπικά και έχουν σχεδιαστεί για να λειτουργούν στον πυρήνα του Linux.
Οι εντολές που συμπεριλαμβάνονται είναι add, bisect, branch, checkout, clone, commit, diff, fetch, grep, init, log, merge, mv, pull, push, rebase, reset. Μπορείτε εύκολα να μάθετε τι κάνει η κάθε εντολή τρέχοντας την εντολή git -help από ένα παράθυρο τερματικού.
Χαρακτηριστικά με μια ματιά
Όταν χρησιμοποιείτε το Git, οι χρήστες θα μπορούν να προσθέτουν αρχεία, κλάδους ή διαδρομές πληρωμών, αποθήκες κλώνων, να δημιουργούν κενά repos Git, να συμμετέχουν σε πολλαπλά ιστορικά ανάπτυξης, να εμφανίζουν την κατάσταση δέντρου εργασίας, να καταγράφουν αλλαγές, διαγραφή υποκαταστημάτων.
Επιπλέον, η εφαρμογή επιτρέπει στους χρήστες να βλέπουν τις αλλαγές μεταξύ δεσμεύσεων και δέντρων εργασίας, να εκτυπώνουν γραμμές που ταιριάζουν με ένα πρότυπο, να καταγράφουν αρχεία καταγραφής, να κατεβάζουν αναφορές και αντικείμενα, να μετονομάζουν ή να μετακινούν αρχεία, συμβολικές συνδέσεις και καταλόγους, αρχεία από δέντρο εργασίας.Υπάρχουν διάφορα γραφικά προφίλ
Ακόμη και αν είναι μόνο ένα λογισμικό γραμμής εντολών, διατίθενται διάφορες γραφικές διεπαφές χρήστη (GUI), συμπεριλαμβανομένων των git-cola, SmartGit, GitEye, giggle και gitg. Τα βοηθητικά προγράμματα SCM (Software Configuration Management), όπως το CVS, το Subversion, το ClearCase και το Perforce, έχουν φτηνές τοπικές διακλαδώσεις, πολλαπλές ροές εργασίας και βολικές περιοχές στάσης.
Συμπέρασμα
Συνοψίζοντας, το Git είναι ένα δωρεάν σύστημα ελέγχου έκδοσης που χαρακτηρίζεται από εξαιρετικά γρήγορη απόδοση, είναι εύκολο να μάθει και έχει πολύ μικρό αποτύπωμα. Με το Git μπορείτε να κάνετε εναλλαγή περιβάλλοντος χωρίς τριβή, γραμμές κώδικα βασισμένες σε ρόλους, ροή εργασίας βασισμένη σε χαρακτηριστικά και πειράματα μιας χρήσης.
Τι νέο υπάρχει p>
- Μια συνάρτηση helper για να διαβάσει μια ενιαία ολόκληρη γραμμή στο strbuf σφάλμα λάθους OOM που προκλήθηκε με σφάλμα στο EOF υπό ορισμένες συνθήκες που έχει καθοριστεί.
- Εκτός από το "cc: # cruft", "cc: a@dd.re.ss # cruft" διδάχθηκε στο "git send-email" ως έγκυρο τρόπο να του πείτε ότι πρέπει επίσης να στείλει ένα αντίγραφο άνθρακα στο τμήμα του ρυμουλκούμενου.
- Διορθώστε την παλινδρόμηση σε "gitk --bisect" με πρόσφατη ενημέρωση.
- Σε αντίθεση με το "git commit-tree & lt; αρχείο "," git commit-tree -F αρχείο " δεν πέρασε κατά λέξη τα περιεχόμενα του αρχείου και αντίθετα ολοκλήρωσε μια ατελής γραμμή στο τέλος, αν υπάρχει. Το τελευταίο έχει ενημερωθεί ώστε να ταιριάζει με τη συμπεριφορά του πρώτου.
- "git archive", ειδικά όταν χρησιμοποιείται με pathspec, αποθηκεύει έναν κενό κατάλογο στην έξοδο του, παρόλο που το ίδιο το Git δεν το κάνει ποτέ. Αυτό έχει καθοριστεί.
- Προστασία από σφάλματα API, η οποία συμβαίνει επίσης να καταστρέφει τις προειδοποιήσεις από το GCC.
- "git gc" προσπαθεί να αποφύγει να τρέξει δύο στιγμιότυπα ταυτόχρονα με την ανάγνωση και την εγγραφή pid / host από και σε ένα αρχείο κλειδώματος. χρησιμοποίησε μια εσφαλμένη μορφή fscanf () κατά την ανάγνωση, η οποία έχει διορθωθεί.
- Έχει διδαχθεί ότι η γραμματοσειρά δοκιμής δεν μας αρέσει «echo -e».
- Κώδικας cmp.std.c nitpick.
- "git περιγράψτε --match" έμαθε να παίρνει πολλαπλά μοτίβα στη σειρά v2.13, αλλά η λειτουργία αγνόησε τα σχέδια μετά την πρώτη και δεν λειτούργησε καθόλου. Αυτό έχει καθοριστεί.
- & quot; git cat-file -textconv & quot; ξεκίνησε πρόσφατα, το οποίο έχει διορθωθεί.
- Το ενσωματωμένο μοτίβο για την ανίχνευση της "κεφαλίδας λειτουργίας" για το HTML δεν ταιριάζουν .. στοιχεία χωρίς χαρακτηριστικά που έχουν καθοριστεί.
- & quot; git mailinfo & quot; ήταν χαλαρή στην αποκωδικοποίηση των αναφερόμενων εκτυπώσεων και των παραγόμενων σκουπιδιών όταν τα δύο γράμματα μετά από το ίση σημάδι δεν είναι δεκαεξαδικά. Αυτό έχει καθοριστεί.
- Η τεκμηρίωση για το "-Χ" για συγχώνευση γράφτηκε παραπλανητικά για να υποδείξει ότι τα "-s" δικά τους " υπάρχει, κάτι που δεν συμβαίνει.
- Καλέστε το όνομα του συστήματός μας ως & quot; Git & quot; στην έξοδο από script-request-pull.
- Διορθώνει για ένα χούφτα ζητήματα πρόσβασης μνήμης που προσδιορίζονται από το valgrind.
- Επιστρέφει ένα ηθικό ισοδύναμο του 2015 που προσαρμόζεται στην εξομοίωση δημοσκόπησης από το upstream gnulib για να διορθώσει περιστασιακές θραύσεις στο HPE NonStop.
- Στο "- format = ..." επιλογή του "git for-each-ref". (και οι φίλοι της, δηλ. ο τρόπος καταχώρησης του "git branch / tag"), "% (άτομο:)" (για παράδειγμα, "% (refname:)", "% (body:)" χρησιμοποιείται για σφάλμα, αλλά τα αντιμετωπίζει σαν να μην υπήρχε το τελεία και μια κενή ακολουθία.
- Χρήστες με "color.ui = always" στη διαμόρφωσή τους έσπασε μια πρόσφατη αλλαγή που έκανε τις εντολές των υδραυλικών εγκαταστάσεων να δώσουν προσοχή σε αυτές ως το έμπλαστρο που δημιουργήθηκε εσωτερικά από το "git add -p" ήταν χρωματισμένα (heh) και έγιναν άχρηστα. Αυτό έχει καθοριστεί.
- "κλάδος git -Μ α β" ενώ σε ένα κλάδο που δεν σχετίζεται καθόλου με τον κλάδο a ή με το κλάδο b, όταν χρησιμοποιείται πολλαπλό worktree. Αυτό έχει καθοριστεί.
- "git fast-export" με την επιλογή -Μ / -C εκδοθείσα "αντιγραφή" οδηγίες σε μια διαδρομή που τροποποιείται ταυτόχρονα, η οποία ήταν εσφαλμένη.
- Η εντολή του σημείου ελέγχου "git fast-import" δεν έχει ξεκαθαρίσει τις ενημερώσεις σε αναφορές και επισημάνσεις εκτός αν δημιουργήθηκε τουλάχιστον ένα αντικείμενο από το τελευταίο σημείο ελέγχου, το οποίο έχει διορθωθεί, καθώς αυτά μπορούν να συμβούν χωρίς να δημιουργηθεί νέο αντικείμενο.
- Τα σενάρια οδήγησης του TravisCI έχουν αναδιοργανωθεί και στη συνέχεια έχει γίνει βελτιστοποίηση για να αποφευχθούν οι κύκλοι δαπανών σε ένα υποκατάστημα του οποίου η ετικέτα έχει επισημανθεί.
- & git fetch: & quot; επιτρέπει το όνομα ενός αντικειμένου στην πλευρά όταν η άλλη πλευρά αποδέχεται ένα τέτοιο αίτημα από την έκδοση Git v2.5, αλλά η τεκμηρίωση ήταν άκυρη.
- Μια παλινδρόμηση στο 2.11 που έκανε τον κώδικα για να διαβάσει τη λίστα των καταστημάτων εναλλακτικών αντικειμένων που ξεπέρασαν το τέλος της συμβολοσειράς έχει καθοριστεί.
Τι νέο υπάρχει στην έκδοση 2.15.1:
- Μια συνάρτηση helper για να διαβάσει μια ενιαία ολόκληρη γραμμή στο strbuf σφάλμα λάθους OOM που προκλήθηκε με σφάλμα στο EOF υπό ορισμένες συνθήκες που έχει καθοριστεί.
- Εκτός από το "cc: # cruft", "cc: a@dd.re.ss # cruft" διδάχθηκε στο "git send-email" ως έγκυρο τρόπο να του πείτε ότι πρέπει επίσης να στείλει ένα αντίγραφο άνθρακα στο τμήμα του ρυμουλκούμενου.
- Διορθώστε την παλινδρόμηση σε "gitk --bisect" με πρόσφατη ενημέρωση.
- Σε αντίθεση με το "git commit-tree & lt; αρχείο "," git commit-tree -F αρχείο " δεν πέρασε κατά λέξη τα περιεχόμενα του αρχείου και αντίθετα ολοκλήρωσε μια ατελής γραμμή στο τέλος, αν υπάρχει. Το τελευταίο έχει ενημερωθεί ώστε να ταιριάζει με τη συμπεριφορά του πρώτου.
- "git archive", ειδικά όταν χρησιμοποιείται με pathspec, αποθηκεύει έναν κενό κατάλογο στην έξοδο του, παρόλο που το ίδιο το Git δεν το κάνει ποτέ. Αυτό έχει καθοριστεί.
- Προστασία από σφάλματα API, η οποία συμβαίνει επίσης να καταστρέφει τις προειδοποιήσεις από το GCC.
- "git gc" προσπαθεί να αποφύγει να τρέξει δύο στιγμιότυπα ταυτόχρονα με την ανάγνωση και την εγγραφή pid / host από και σε ένα αρχείο κλειδώματος. χρησιμοποίησε μια εσφαλμένη μορφή fscanf () κατά την ανάγνωση, η οποία έχει διορθωθεί.
- Έχει διδαχθεί ότι η γραμματοσειρά δοκιμής δεν μας αρέσει «echo -e».
- Κώδικας cmp.std.c nitpick.
- "git περιγράψτε --match" έμαθε να παίρνει πολλαπλά μοτίβα στη σειρά v2.13, αλλά η λειτουργία αγνόησε τα σχέδια μετά την πρώτη και δεν λειτούργησε καθόλου. Αυτό έχει καθοριστεί.
- & quot; git cat-file -textconv & quot; ξεκίνησε πρόσφατα, το οποίο έχει διορθωθεί.
- Το ενσωματωμένο μοτίβο για την ανίχνευση της "κεφαλίδας λειτουργίας" για το HTML δεν ταιριάζουν .. στοιχεία χωρίς χαρακτηριστικά που έχουν καθοριστεί.
- & quot; git mailinfo & quot; ήταν χαλαρή στην αποκωδικοποίηση των αναφερόμενων εκτυπώσεων και των παραγόμενων σκουπιδιών όταν τα δύο γράμματα μετά από το ίση σημάδι δεν είναι δεκαεξαδικά. Αυτό έχει καθοριστεί.
- Η τεκμηρίωση για το "-Χ" για συγχώνευση γράφτηκε παραπλανητικά για να υποδείξει ότι τα "-s" δικά τους " υπάρχει, κάτι που δεν συμβαίνει.
- Καλέστε το όνομα του συστήματός μας ως & quot; Git & quot; στην έξοδο από script-request-pull.
- Διορθώνει για ένα χούφτα ζητήματα πρόσβασης μνήμης που προσδιορίζονται από το valgrind.
- Επιστρέφει ένα ηθικό ισοδύναμο του 2015 που προσαρμόζεται στην εξομοίωση δημοσκόπησης από το upstream gnulib για να διορθώσει περιστασιακές θραύσεις στο HPE NonStop.
- Στο "- format = ..." επιλογή του "git for-each-ref". (και οι φίλοι της, δηλ. ο τρόπος καταχώρησης του "git branch / tag"), "% (άτομο:)" (για παράδειγμα, "% (refname:)", "% (body:)" χρησιμοποιείται για σφάλμα, αλλά τα αντιμετωπίζει σαν να μην υπήρχε το τελεία και μια κενή ακολουθία.
- Χρήστες με "color.ui = always" στη διαμόρφωσή τους έσπασε μια πρόσφατη αλλαγή που έκανε τις εντολές των υδραυλικών εγκαταστάσεων να δώσουν προσοχή σε αυτές ως το έμπλαστρο που δημιουργήθηκε εσωτερικά από το "git add -p" ήταν χρωματισμένα (heh) και έγιναν άχρηστα. Αυτό έχει καθοριστεί.
- "κλάδος git -Μ α β" ενώ σε ένα κλάδο που δεν σχετίζεται καθόλου με τον κλάδο a ή με το κλάδο b, όταν χρησιμοποιείται πολλαπλό worktree. Αυτό έχει καθοριστεί.
- "git fast-export" με την επιλογή -Μ / -C εκδοθείσα "αντιγραφή" οδηγίες σε μια διαδρομή που τροποποιείται ταυτόχρονα, η οποία ήταν εσφαλμένη.
- Η εντολή του σημείου ελέγχου "git fast-import" δεν έχει ξεκαθαρίσει τις ενημερώσεις σε αναφορές και επισημάνσεις εκτός αν δημιουργήθηκε τουλάχιστον ένα αντικείμενο από το τελευταίο σημείο ελέγχου, το οποίο έχει διορθωθεί, καθώς αυτά μπορούν να συμβούν χωρίς να δημιουργηθεί νέο αντικείμενο.
- Τα σενάρια οδήγησης του TravisCI έχουν αναδιοργανωθεί και στη συνέχεια έχει γίνει βελτιστοποίηση για να αποφευχθούν οι κύκλοι δαπανών σε ένα υποκατάστημα του οποίου η ετικέτα έχει επισημανθεί.
- & git fetch: & quot; επιτρέπει το όνομα ενός αντικειμένου στην πλευρά όταν η άλλη πλευρά αποδέχεται ένα τέτοιο αίτημα από την έκδοση Git v2.5, αλλά η τεκμηρίωση ήταν άκυρη.
- Μια παλινδρόμηση στο 2.11 που έκανε τον κώδικα για να διαβάσει τη λίστα των καταστημάτων εναλλακτικών αντικειμένων που ξεπέρασαν το τέλος της συμβολοσειράς έχει καθοριστεί.
Τι νέο υπάρχει στην έκδοση 2.15.0:
- Μια συνάρτηση helper για να διαβάσει μια ενιαία ολόκληρη γραμμή στο strbuf σφάλμα λάθους OOM που προκλήθηκε με σφάλμα στο EOF υπό ορισμένες συνθήκες που έχει καθοριστεί.
- Εκτός από το "cc: # cruft", "cc: a@dd.re.ss # cruft" διδάχθηκε στο "git send-email" ως έγκυρο τρόπο να του πείτε ότι πρέπει επίσης να στείλει ένα αντίγραφο άνθρακα στο τμήμα του ρυμουλκούμενου.
- Διορθώστε την παλινδρόμηση σε "gitk --bisect" με πρόσφατη ενημέρωση.
- Σε αντίθεση με το "git commit-tree & lt; αρχείο "," git commit-tree -F αρχείο " δεν πέρασε κατά λέξη τα περιεχόμενα του αρχείου και αντίθετα ολοκλήρωσε μια ατελής γραμμή στο τέλος, αν υπάρχει. Το τελευταίο έχει ενημερωθεί ώστε να ταιριάζει με τη συμπεριφορά του πρώτου.
- "git archive", ειδικά όταν χρησιμοποιείται με pathspec, αποθηκεύει έναν κενό κατάλογο στην έξοδο του, παρόλο που το ίδιο το Git δεν το κάνει ποτέ. Αυτό έχει καθοριστεί.
- Προστασία από σφάλματα API, η οποία συμβαίνει επίσης να καταστρέφει τις προειδοποιήσεις από το GCC.
- "git gc" προσπαθεί να αποφύγει να τρέξει δύο στιγμιότυπα ταυτόχρονα με την ανάγνωση και την εγγραφή pid / host από και σε ένα αρχείο κλειδώματος. χρησιμοποίησε μια εσφαλμένη μορφή fscanf () κατά την ανάγνωση, η οποία έχει διορθωθεί.
- Έχει διδαχθεί ότι η γραμματοσειρά δοκιμής δεν μας αρέσει «echo -e».
- Κώδικας cmp.std.c nitpick.
- "git περιγράψτε --match" έμαθε να παίρνει πολλαπλά μοτίβα στη σειρά v2.13, αλλά η λειτουργία αγνόησε τα σχέδια μετά την πρώτη και δεν λειτούργησε καθόλου. Αυτό έχει καθοριστεί.
- & quot; git cat-file -textconv & quot; ξεκίνησε πρόσφατα, το οποίο έχει διορθωθεί.
- Το ενσωματωμένο μοτίβο για την ανίχνευση της "κεφαλίδας λειτουργίας" για το HTML δεν ταιριάζουν .. στοιχεία χωρίς χαρακτηριστικά που έχουν καθοριστεί.
- & quot; git mailinfo & quot; ήταν χαλαρή στην αποκωδικοποίηση των αναφερόμενων εκτυπώσεων και των παραγόμενων σκουπιδιών όταν τα δύο γράμματα μετά από το ίση σημάδι δεν είναι δεκαεξαδικά. Αυτό έχει καθοριστεί.
- Η τεκμηρίωση για το "-Χ" για συγχώνευση γράφτηκε παραπλανητικά για να υποδείξει ότι τα "-s" δικά τους " υπάρχει, κάτι που δεν συμβαίνει.
- Καλέστε το όνομα του συστήματός μας ως & quot; Git & quot; στην έξοδο από script-request-pull.
- Διορθώνει για ένα χούφτα ζητήματα πρόσβασης μνήμης που προσδιορίζονται από το valgrind.
- Επιστρέφει ένα ηθικό ισοδύναμο του 2015 που προσαρμόζεται στην εξομοίωση δημοσκόπησης από το upstream gnulib για να διορθώσει περιστασιακές θραύσεις στο HPE NonStop.
- Στο "- format = ..." επιλογή του "git for-each-ref". (και οι φίλοι της, δηλ. ο τρόπος καταχώρησης του "git branch / tag"), "% (άτομο:)" (για παράδειγμα, "% (refname:)", "% (body:)" χρησιμοποιείται για σφάλμα, αλλά τα αντιμετωπίζει σαν να μην υπήρχε το τελεία και μια κενή ακολουθία.
- Χρήστες με "color.ui = always" στη διαμόρφωσή τους έσπασε μια πρόσφατη αλλαγή που έκανε τις εντολές των υδραυλικών εγκαταστάσεων να δώσουν προσοχή σε αυτές ως το έμπλαστρο που δημιουργήθηκε εσωτερικά από το "git add -p" ήταν χρωματισμένα (heh) και έγιναν άχρηστα. Αυτό έχει καθοριστεί.
- "κλάδος git -Μ α β" ενώ σε ένα κλάδο που δεν σχετίζεται καθόλου με τον κλάδο a ή με το κλάδο b, όταν χρησιμοποιείται πολλαπλό worktree. Αυτό έχει καθοριστεί.
- "git fast-export" με την επιλογή -Μ / -C εκδοθείσα "αντιγραφή" οδηγίες σε μια διαδρομή που τροποποιείται ταυτόχρονα, η οποία ήταν εσφαλμένη.
- Η εντολή του σημείου ελέγχου "git fast-import" δεν έχει ξεκαθαρίσει τις ενημερώσεις σε αναφορές και επισημάνσεις εκτός αν δημιουργήθηκε τουλάχιστον ένα αντικείμενο από το τελευταίο σημείο ελέγχου, το οποίο έχει διορθωθεί, καθώς αυτά μπορούν να συμβούν χωρίς να δημιουργηθεί νέο αντικείμενο.
- Τα σενάρια οδήγησης του TravisCI έχουν αναδιοργανωθεί και στη συνέχεια έχει γίνει βελτιστοποίηση για να αποφευχθούν οι κύκλοι δαπανών σε ένα υποκατάστημα του οποίου η ετικέτα έχει επισημανθεί.
- & git fetch: & quot; επιτρέπει το όνομα ενός αντικειμένου στην πλευρά όταν η άλλη πλευρά αποδέχεται ένα τέτοιο αίτημα από την έκδοση Git v2.5, αλλά η τεκμηρίωση ήταν άκυρη.
- Μια παλινδρόμηση στο 2.11 που έκανε τον κώδικα για να διαβάσει τη λίστα των καταστημάτων εναλλακτικών αντικειμένων που ξεπέρασαν το τέλος της συμβολοσειράς έχει καθοριστεί.
Τι νέο υπάρχει στην έκδοση 2.14.1:
- ssh: // ... &&; URL από το Git v2.7.6
Τι είναι καινούργιο στην έκδοση 2.9.3:
- * Μια συνάρτηση helper που παίρνει τα περιεχόμενα ενός αντικειμένου commit και βρίσκει τη γραμμή του θέματος δεν αγνοούσε τις προφανείς κενές γραμμές, όπως συνήθως γίνεται από άλλα pathpaths. Κάντε το να αγνοεί τις κύριες κενές γραμμές που ταιριάζουν.
- Το Git δεν γνωρίζει ακόμα ποια θα είναι τα περιεχόμενα του ευρετηρίου για μια διαδρομή που έχει προστεθεί με το "git add -N", οπότε το "git grep -cached" δεν πρέπει να δείχνει επιτυχίες (ή να δείχνει έλλειψη επισκέψεων, με -L ) σε μια τέτοια διαδρομή, αλλά αυτή η λογική δεν ισχύει για το "git grep", δηλαδή την αναζήτηση στα αρχεία δέντρου εργασίας. Αλλά το κάναμε λάθος, το οποίο έχει διορθωθεί.
- "git rebase -i --autostash" δεν αποκαθιστούσε την αυτόματη αλλαγή της κατάστασης όταν η λειτουργία τερματίστηκε.
- "git commit - amend --allow-empty-message -S" για μια δέσμευση χωρίς οποιοδήποτε σώμα μηνύματος θα μπορούσε να έχει εντοπίσει λάθος όταν τελειώνει η κεφαλίδα του αντικειμένου δέσμευσης.
- Περισσότερες ενημερώσεις προσαύξησης για τη διαγραφή συμβολοσειρών που αναμένεται να πληκτρολογηθούν κυριολεκτικά από τον τελικό χρήστη σε γραμματοσειρά σταθερού πλάτους.
- Για μεγάλο χρονικό διάστημα, πραγματοποιήσαμε ένα σχόλιο σε κώδικα που είπε ότι η έγχρωμη παραγωγή μας θα λειτουργούσε μόνο όταν χρησιμοποιούμε fprintf / fputs στα Windows, κάτι που δεν συμβαίνει πλέον τα τελευταία χρόνια.
- Το "gc.autoPackLimit" όταν είναι ρυθμισμένο σε 1 δεν θα πρέπει να ενεργοποιεί την επανασυσκευασία όταν υπάρχει μόνο ένα πακέτο, αλλά ο κώδικας μετράται ανεπαρκώς.
- Ένα μέρος του "git am" είχε μια βοηθητική λειτουργία που ονομάζονταν πράγματα από το "δικό του", σε αντίθεση με το να ονομάζουμε αυτό που έχουμε "δικός μας", το οποίο δεν ήταν ουδέτερο ως προς το φύλο και επίσης ασυμβίβαστο με το υπόλοιπο σύστημα εκτός από τα πράγματα που ονομάζεται "δικό τους" σε αντίθεση με το "δικός μας".
- Το δοκιμαστικό πλαίσιο έμαθε ένα νέο βοηθό test_match_signal για να ελέγξει τον κωδικό εξόδου από το να σκοτωθεί από ένα αναμενόμενο σήμα.
- "git blame -M" έχασε μια μόνο γραμμή που μετακινήθηκε μέσα στο αρχείο.
- Διορθώστε πρόσφατα εισαγόμενες διαδρομές κώδικα που εμπλέκονται σε παράλληλες λειτουργίες υποσυστημάτων, οι οποίες εγκαταλείφθηκαν πολύ νωρίς στην ανάγνωση και θα μπορούσαν να χάσουν την CPU ενώ προσπαθούσαν να γράψουν κάτω από μια συνθήκη γωνίας.
- "git grep -i" έχει διδαχθεί να κάνει fold case σε μη-ascii locales σωστά.
- Μια δοκιμή που χρησιμοποίησε άνευ όρων το "mktemp" έμαθε ότι η εντολή δεν είναι απαραίτητα διαθέσιμη παντού.
- Το αρχείο "git blame file" επέτρεψε την επιθεώρηση της γραμμής γραμμών στα μη δεσμευμένα, μη προσδεδεμένα περιεχόμενα του "αρχείου", αλλά αρνήθηκε όταν δεν εμφανίστηκε το "αρχείο" στην τρέχουσα δέσμευση. Όταν δημιουργήθηκε "αρχείο" με μετονομασία ενός υπάρχοντος αρχείου (αλλά η αλλαγή δεν έχει δεσμευτεί), ο περιορισμός αυτός ήταν άσκοπα σφιχτός.
- "git add -dir / file & amp; git write tree" δημιούργησε ένα λανθασμένο δέντρο όταν υπάρχουν άλλες διαδρομές στον ίδιο κατάλογο που ταξινομείται μετά το "αρχείο".
- "git fetch http: // χρήστης: pass @ host / repo ..." έσβησε το μέρος χρήστηinfo, αλλά το "git push" δεν το έκανε.
- Έχει διορθωθεί ένα παλιό σφάλμα ηλικίας που προκάλεσε λάθος "git diff --ignore-space-at-eol".
- "συγχώνευση σημειώσεων git" είχε έναν κώδικα για να διαπιστώσει εάν υπάρχει μια διαδρομή (και αποτυγχάνει αν το κάνει) και στη συνέχεια ανοίξτε τη διαδρομή για την εγγραφή (όταν δεν υπάρχει). Αντικαταστήστε το με ανοιχτό με το O_EXCL.
- "git pack-objects" και "git index-pack" λειτουργούν ως επί το πλείστον με off_t όταν μιλάμε για την αντιστάθμιση των αντικειμένων σε ένα packfile, αλλά υπήρχε μια χούφτα θέσεις που χρησιμοποίησαν "unsigned long" σε μια μη σκόπιμη περικοπή.
- Η πρόσφατη ενημέρωση του "git daemon" προσπαθεί να ενεργοποιήσει την υποδοχή KEEPALIVE, αλλά όταν δημιουργείται μέσω του inetd, ο τυπικός περιγραφέας αρχείου εισόδου μπορεί να μην είναι υποχρεωτικά συνδεδεμένος σε μια υποδοχή. Καταργήστε ένα σφάλμα ENOTSOCK από το setockopt ().
- Το πρόσφατο FreeBSD σταματά να κάνει το perl διαθέσιμο στο / usr / bin / perl; αλλάξτε την προεπιλεγμένη διαδρομή στην / usr / local / bin / perl στις όχι πολύ παλιές εκδόσεις του FreeBSD.
- Η κατάσταση "git" έμαθε να προτείνει "συγχώνευση - abort" κατά τη διάρκεια μιας διένεξης συγχώνευσης, όπως ήδη προτείνει "rebase - abort"
- Οι πηγές .c / .h σημειώνονται ως έχουν στο αρχείο μας .gitattributes έτσι ώστε το "git diff -W" και οι φίλοι να λειτουργούν καλύτερα.
- Υπάρχουσα δοκιμή που δημιουργήθηκε αυτόματα για την ανάγκη σύνδεσης με τη βιβλιοθήκη pthread δεν έλεγξε όλες τις λειτουργίες από τις βιβλιοθήκες pthread. το πρόσφατο FreeBSD έχει κάποιες λειτουργίες στο libc, αλλά όχι και σε άλλους, και πιστεύαμε εσφαλμένα ότι η σύνδεση με το libc είναι αρκετή όταν δεν είναι.
- Αφήστε δοκιμές δαίμονα http στις δοκιμές CI Travis.
- Οι χρήστες της συνάρτησης API parse_options_concat () πρέπει να εκχωρήσουν εκ των προτέρων επιπλέον χρονοθυρίδες και να τις συμπληρώσουν με OPT_END (), όταν θέλουν να αποφασίσουν δυναμικά το σύνολο των υποστηριζόμενων επιλογών, γεγονός που καθιστά τον κώδικα επιρρεπή σε λάθη και είναι δύσκολο να διαβαστεί. Αυτό διορθώθηκε τροποποιώντας το API για να διαθέσει και να επιστρέψει ένα νέο αντίγραφο της συστοιχίας "struct option".
- Η χρήση του strbuf στο "git rm" για τη δημιουργία αρχείου για την κατάργηση ήταν λίγο υποεπίπεδο, το οποίο έχει διορθωθεί.
- "git commit --help" λέει ότι το "-no-verify" είναι μόνο για την παράκαμψη του άγκιστρου προ-διεκπεραίωσης και απέτυχε να πει ότι παρακάμπτει επίσης το άγκιστρο commit-msg.
- Το "git merge" στο Git v2.9 διδάχθηκε να απαγορεύει τη συγχώνευση μιας άσχετης γραμμής ιστορίας από προεπιλογή, αλλά αυτό είναι ακριβώς το είδος του πράγματος "-rejoin" mode του "git subtree" (στο contrib /) θέλει να κάνει. "subtree git" έχει διδαχθεί να χρησιμοποιεί την επιλογή "--allow-unrelated-histories" για να αντικαταστήσει την προεπιλογή.
- Η διαδικασία δημιουργίας του βοηθού "git persistent-https" (στο contrib /) έχει ενημερωθεί ώστε να μπορεί να δημιουργηθεί με πιο πρόσφατες εκδόσεις Go.
- Υπάρχει μια βελτιστοποίηση που χρησιμοποιείται στο "git diff $ treeA $ treeB" για να δανειστεί ένα ήδη ελεγμένο αντίγραφο στο δέντρο εργασίας, όταν είναι γνωστό ότι είναι το ίδιο με τη σύγκριση της κηλίδας, αναμένοντας ότι το open / mmap τέτοιων ένα αρχείο είναι πιο γρήγορο από το να το διαβάζει από το κατάστημα αντικειμένων, το οποίο περιλαμβάνει φούσκωμα και εφαρμογή δέλτα. Αυτό όμως κλωτσήθηκε ακόμα και όταν το αντίγραφο που έχει ελεγχθεί πρέπει να περάσει από τη μετατροπή μετατροπής σε git (συμπεριλαμβανομένου του καθαρού φίλτρου), η οποία καταστρέφει ολόκληρο το σημείο της βελτιστοποίησης. Η βελτιστοποίηση έχει απενεργοποιηθεί όταν η μετατροπή είναι απαραίτητη.
- "git -c grep.patternType = εκτεταμένη καταγραφή -basic-regexp", επειδή το εσωτερικό API για πρόσβαση στη μηχανή grep δεν σχεδιάστηκε σωστά.
- Η θύρα των Windows απέτυχε μερικές δοκιμές στο t4130, λόγω της έλλειψης inum στις επιστρεφόμενες τιμές με την εξομοίωση lstat (2).
- Οι χαρακτήρες στην ετικέτα που εμφανίζεται για ετικέτες / αναφορές για δεσμεύσεις στην έξοδο "gitweb" διαγράφονται τώρα σωστά για σωστή έξοδο HTML.
- Το FreeBSD μπορεί να βρεθεί όταν ζητηθεί από το mtime ενός καταλόγου, ο οποίος κατέστησε τον κώδικα cache untracked να πέσει πίσω σε μια αργή διαδρομή, η οποία με τη σειρά του προκάλεσε αποτυχίες στις δοκιμές στο t7063 επειδή ήθελε να επαληθεύσει τη συμπεριφορά της γρήγορης διαδρομής.
- Προειδοποιήσεις μεταγλωττιστή Squelch για τη βιβλιοθήκη netmalloc (σε compat /).
- Η τεκμηρίωση API για το hashmap ήταν ασαφής εάν το hashmap_entry μπορεί να απορριφθεί με ασφάλεια χωρίς άλλη εκτίμηση. Δηλώστε ότι είναι ασφαλές να το κάνετε αυτό.
- Η μη πρόσφατη επανεγγραφή του "git am" που άρχισε να πραγματοποιεί εσωτερικές κλήσεις στο μηχανισμό διεκπεραίωσης είχε μια ακούσια παλινδρόμηση, δεδομένου ότι ανεξάρτητα από το πόσα δευτερόλεπτα χρειάστηκε για την εφαρμογή πολλών επιδιορθώσεων, η προκύπτουσα χρονική σήμανση committer για τις προκύπτουσες δεσμεύσεις ήταν όλα τα ίδια.
- "git difftool ..." που ξεκίνησε σε έναν υποκατάλογο απέτυχε να ερμηνεύσει τις διαδρομές σε σχέση με τον κατάλογο, ο οποίος έχει διορθωθεί.
Το
Τι νέο υπάρχει στην έκδοση 2.9.1:
- Όταν ο "git daemon" εκτελείται χωρίς να έχει οριστεί - [init-] timeout, μια σύνδεση από έναν πελάτη που σβήνει σιωπηλά μπορεί να κρεμάσει για πολύ καιρό, χάνοντας πόρους. Η υποδοχή KEEPALIVE έχει ενεργοποιηθεί για να επιτρέψει στο λειτουργικό σύστημα να παρατηρήσει τέτοιες αποτυχημένες συνδέσεις.
- Οι εντολές στην οικογένεια `git log` λαμβάνουν το% C (auto) σε μια συμβολοσειρά προσαρμοσμένης μορφής. Αυτό ενεργοποίησε άνευ όρων το χρώμα, παραβλέποντας το - άχρωμο ή με --color = auto όταν η έξοδος δεν είναι συνδεδεμένη με tty. αυτό διορθώθηκε για να συμπεριφέρεται πραγματικά η μορφή ως "auto".
- "git rev-list --count", του οποίου το μήκος περιπάτου είναι περιορισμένο με την επιλογή "-n" δεν λειτούργησε καλά με τη βελτιστοποίηση μέτρησης για να εξετάσει τον δείκτη bitmap.
- "git show -W" (επέκταση hunks για να καλύψει ολόκληρη τη λειτουργία, οριοθετημένη από γραμμές που ταιριάζουν με το πρότυπο "funcname") που χρησιμοποιείται για την εμφάνιση ολόκληρου του αρχείου όταν μια αλλαγή προσθέτει μια ολόκληρη λειτουργία στο τέλος του αρχείου, έχει καθοριστεί.
- Το σετ τεκμηρίωσης έχει ενημερωθεί ώστε οι κυριολεκτικές εντολές, οι μεταβλητές διαμόρφωσης και οι μεταβλητές περιβάλλοντος να είναι σταθερά τυποποιημένες σε γραμματοσειρά σταθερού πλάτους και με έντονους χαρακτήρες σε manpages.
- Υποσύνολο "git svn propset" που προστέθηκε σε 2,3 ημέρες τεκμηριώνεται τώρα.
- Η τεκμηρίωση προσπαθεί να συμβολίζει συστηματικά το "GPG". όταν γίνεται αναφορά στο συγκεκριμένο όνομα του προγράμματος, χρησιμοποιείται το "gpg".
- Το "git reflog" σταμάτησε όταν είδε μια καταχώρηση που δηλώνει ένα συμβάν δημιουργίας υποκαταστήματος (γνωστός και ως "unborn"), το οποίο έδειχνε ότι εμφανίστηκε σαν να έχει αποκοπεί το reflog.
- Το scriptlet προτροπής git (στο contrib /) δεν ήταν φιλικό με εκείνους που χρησιμοποιούν το "set -u", το οποίο έχει διορθωθεί.
- Ένας κώδικας που χρησιμοποίησε το alloca (3) για να τοποθετήσει μια απεριόριστη ποσότητα δεδομένων στη στοίβα ενημερώθηκε για να αποφευχθεί αυτό.
- "git update-index - add - chmod = + αρχείο x" μπορεί να χρησιμοποιηθεί ως καπνοδόχος διαφυγής, αλλά δεν είναι φιλικό για να αναγκάσει τους ανθρώπους που χρειάζονται να το χρησιμοποιούν τακτικά. Μπορεί να χρησιμοποιηθεί "git add --chmod = + αρχείο x".
- Δημιουργήστε βελτιώσεις για το gnome-keyring (σε contrib /)
- "Κατάσταση git" που χρησιμοποιείται για να λέει "κατάλογος εργασίας" όταν σήμαινε "δέντρο εργασίας".
- Τα σχόλια σχετικά με τα κακόβουλα κελιά του FreeBSD έχουν διευκρινιστεί με τον αριθμό έκδοσης (9.x και πριν έχουν σπάσει, τα νεότερα είναι εντάξει).
- Το "git cherry-pick A" δούλεψε σε αγέννητο υποκατάστημα, αλλά το "git cherry-pick A..B" δεν το έκανε.
- Το "git add -i / -p" έμαθε να τιμήσει το diff.compactionHeuristic πειραματικό κουμπί, έτσι ώστε ο χρήστης να μπορεί να δουλέψει στον ίδιο διαχωρισμό hunk ως έξοδο "git diff".
- "log -graph -format =" έμαθε ότι το "%> (N)" καθορίζει το πλάτος σε σχέση με την αριστερή άκρη του τερματικού, όχι σε σχέση με την περιοχή για να σχεδιάσετε κείμενο που βρίσκεται στα δεξιά της καταγωγή -το τμήμα γραφικών παραστάσεων. Επίσης, τώρα δέχεται αρνητικό N που σημαίνει ότι το όριο στήλης είναι σχετικό με το δεξί.
- Ο κανόνας ιδιοκτησίας για το κομμάτι της μνήμης που περιέχει τις αναφορές για ανάκτηση στο "git fetch" ήταν βιδωτό, το οποίο έχει καθαριστεί.
- Το "git bisect" κάνει μια εσωτερική κλήση στο "git diff-tree" όταν η διχοτόμηση βρίσκει τον ένοχο, αλλά αυτή η κλήση δεν προεξέχει τη δομή δεδομένων για να μεταβεί σωστά στο API diff-tree.
- Έχουν τεκμηριωθεί μορφές των διαφόρων δεδομένων (και πώς να τα επικυρώσετε) όπου χρησιμοποιούμε την υπογραφή GPG.
- Διορθώστε μια ακούσια παλινδρόμηση στο v2.9 που σπάζει τον "κλώνο - βάθος" που επαναλαμβάνεται σε υπομονάδες, αναγκάζοντας τα υπομονάδες να κλωνοποιηθούν επίσης ρητά, τα οποία δεν είναι προετοιμασμένα για πολλές περιπτώσεις server που φιλοξενούν ανάντη των υπομονάδων. / li>
- Διορθώστε άσκοπα τα απόβλητα στην ιδιωματική χρήση του ': $ {VAR = default}' για να ορίσετε την προεπιλεγμένη τιμή, χωρίς να την περικλείσετε σε διπλά εισαγωγικά.
- Ορισμένος κώδικας για συγκεκριμένη πλατφόρμα είχε αυστηρές δηλώσεις μη-ANSI για λειτουργίες C που δεν λαμβάνουν παραμέτρους που έχουν διορθωθεί.
- Ο εσωτερικός κώδικας που χρησιμοποιείται για την εμφάνιση της τοπικής αντιστάθμισης ζώνης ώρας δεν είναι έτοιμος να χειριστεί τα χρονικά σήματα πέρα από το έτος 2100 και έδωσε μια ψευδή αξία αντιστάθμισης στον καλούντα. Χρησιμοποιήστε μια πιο καλοφτιαγμένη εμφάνιση +0000 αντί για να αφήσετε το "git log" σε μια τέτοια περίπτωση, αντί να το ακυρώσετε.
- Ένας από τους τέσσερις επικλήσεις της readlink (1) στη δοκιμαστική σουίτα έχει ξαναγραφτεί έτσι ώστε η δοκιμή να μπορεί να τρέξει σε συστήματα χωρίς την εντολή (τα άλλα βρίσκονται σε δοκιμαστικό πλαίσιο valgrind και t9802).
- t / perf ανάγκες / usr / bin / time με επέκταση GNU. η επικλήση του επικαιροποιείται στο "gtime" στο Ντάργουιν.
- Έχει διορθωθεί ένα σφάλμα, το οποίο προκάλεσε το "git p4" ενώ εκτελείται υπό λεπτομερή λειτουργία για να αναφέρει τις διαδρομές που παραλείπονται λόγω εσφαλμένου πρόθεμα κλάδου. η εντολή είπε "Παράβλεψη του αρχείου εκτός προθέματος" για διαδρομές που είναι _inside _.
- Η τεκμηρίωση κορυφαίου επιπέδου "git help git" εξακολουθεί να δείχνει στο σύνολο τεκμηρίωσης που φιλοξενείται στο αποθηκαρισμένο χώρο αποθήκευσης κωδικών πρόσβασης Google. Ενημερώστε το για να το δείξετε στη διεύθυνση https://git.github.io/htmldocs/git.html.
Τι νέο υπάρχει στην έκδοση 2.9.0:
Νέα στο GIT 2.8.1 (5 Απριλίου 2016)
Τι νέο υπάρχει στην έκδοση 2.8.1:
- Ο στόχος "make rpmbuild" ήταν σπασμένος καθώς η είσοδος του, git.spec.in, δεν ενημερώθηκε για να ταιριάζει με ένα αρχείο που περιγράφει που έχει μετονομαστεί πρόσφατα. Αυτό έχει καθοριστεί.
Τι νέο υπάρχει στην έκδοση 2.7.3:
- Παραδοσιακά, οι δοκιμές που δοκιμάζουν εντολές που δουλεύουν στα περιεχόμενα του δέντρου εργασίας ονομάστηκαν με "worktree" στα ονόματα των αρχείων τους, αλλά με την πρόσφατη προσθήκη της υποδιατάξης "git worktree", των οποίων οι δοκιμές ονομάζονται επίσης παρόμοια γίνεται πιο δύσκολο να τους ξεχωρίσετε. Οι παραδοσιακές δοκιμές έχουν μετονομαστεί για να χρησιμοποιήσουν αντί για δουλειά δέντρο σε μια προσπάθεια να τους διαφοροποιήσουν.
- Πολλοί κώδικες κώδικα ξεχνούν να ελέγξουν την τιμή επιστροφής από το git_config_set (); η λειτουργία γίνεται για να πεθάνει () για να βεβαιωθούμε ότι δεν θα προχωρήσουμε όταν η ρύθμιση μιας μεταβλητής διαμόρφωσης απέτυχε.
- Η διαχείριση των σφαλμάτων κατά την εγγραφή στην εσωτερική ασύγχρονη διαδικασία έχει γίνει πιο ισχυρή, πράγμα που μειώνει την ασάφεια στις δοκιμές μας.
- "git show 'HEAD: Το Foo [BAR] Baz'" δεν ερμήνευσε το όρισμα ως rev, δηλαδή το αντικείμενο που ονομάζεται το όνομα διαδρομής με χαρακτήρες μπαλαντέρ σε ένα αντικείμενο δέντρου.
- "git rev-parse - git-common-dir" που χρησιμοποιείται στο χαρακτηριστικό worktree δεν είναι σωστό όταν τρέχει από έναν υποκατάλογο.
- Η δευτερεύουσα εντολή "v (iew)" της διαδραστικής εντολής "git am -i" σπάστηκε στο χρονικό πλαίσιο 2.6.0 όταν η εντολή ξαναγράφηκε στο C.
- "git συγχώνευση-δέντρο" που χρησιμοποιείται για να χειραγωγήσει "αμφότερες οι πλευρές πρόσθεσαν" συγκρούσεις με τις δικές του "δημιουργούν ένα ψεύτικο αρχείο προγόνων που έχει τα κοινά μέρη από ό, τι έχουν προσθέσει και οι δύο πλευρές και κάνουν μια 3-τρόπο συγχώνευση" λογική? αυτό έχει ενημερωθεί για να χρησιμοποιηθεί η συνήθης "τρισδιάστατη συγχώνευση με ένα άδειο blob σαν το ψεύτικο κοινό πρόγονο αρχείο" προσέγγιση που χρησιμοποιείται στο υπόλοιπο του συστήματος.
- Ο κανόνας ιδιοκτησίας μνήμης του API fill_textconv (), ο οποίος ήταν λίγο δύσκολος, έχει τεκμηριωθεί λίγο καλύτερα.
- Η τεκμηρίωση δεν δηλώνει σαφώς ότι η λειτουργία 'απλή' είναι πλέον η προεπιλογή για το 'git push' όταν δεν έχει οριστεί η ρύθμιση push.default.
- Οι πρόσφατες εκδόσεις του GNU grep είναι pickier όταν η εισαγωγή τους περιέχει αυθαίρετα δυαδικά δεδομένα, τα οποία χρησιμοποιούν μερικές από τις δοκιμές μας. Ξαναγράψτε τις δοκιμές για να παρακάμψετε το πρόβλημα.
- Η συνάρτηση helper "git submodule" χρησιμοποιεί από την έκδοση v2.7.0 για να ορίσει τις μονάδες που ταιριάζουν με το όρισμα pathspec που δόθηκε στις υποδιατάξεις (π.χ. "submodule add").
- "git config section.var value" για να ορίσετε μια τιμή στο αρχείο ρυθμίσεων ανά αρχείο αποθετηρίου απέτυχε όταν εκτελέστηκε εκτός οποιουδήποτε χώρου αποθήκευσης, αλλά δεν έλεγε σωστά τον λόγο.
- Ο κώδικας για την ανάγνωση των δεδομένων πακέτου χρησιμοποιώντας τις αντισταθμίσεις που είναι αποθηκευμένες στο αρχείο idx του πακέτου έχει γίνει προσεκτικότερο έλεγχο της εγκυρότητας των δεδομένων στο idx.
Τι νέο υπάρχει στην έκδοση 2.7.2:
- Οι μηχανές συγχώνευσης χαμηλού επιπέδου έχουν διδαχθεί να χρησιμοποιούν τον τερματισμό γραμμής CRLF κατά την εισαγωγή των σημάνσεων σύγκρουσης σε συγχωνευμένα περιεχόμενα που είναι αυτά καθαρά γραμμικά τερματισμένα.
- Το "git worktree" είχε έναν κατεστραμμένο κώδικα που προσπάθησε να διορθώσει αυτόματα πιθανή ασυνέπεια που προκύπτει από την μετακίνηση ενός τελικού χρήστη σε διαφορετικά σημεία χωρίς να λέει το Git (ο αρχικός χώρος αποθήκευσης πρέπει να διατηρεί υποστηρικτές στα worktrees του, αλλά το "mv" που τρέχουν από τελικούς χρήστες που δεν είναι εξοικειωμένοι με αυτό το γεγονός, προφανώς δεν τις προσαρμόζει), γεγονός που στην πραγματικότητα χειροτέρεψε τα πράγματα όταν ενεργοποιήθηκε.
- Η διδασκαλία «git push - force-with-lease» έχει διδαχθεί να αναφέρει εάν η ώθηση που απαιτείται για την εξαναγκασμό (ή γρήγορη προώθηση).
- Η εξομοιωμένη εντολή "ναι" που χρησιμοποιήθηκε στα σενάρια των δοκιμών μας έχει τροποποιηθεί ώστε να μην ξοδεψει πολύς χρόνος δημιουργώντας περιττή έξοδο που δεν χρησιμοποιείται για να βοηθήσει εκείνους που δοκιμάζουν στα Windows όπου δεν θα σταματήσει μέχρι να γεμίσει το buffer του σωλήνα στην έλλειψη SIGPIPE.
- Το backend του vimdiff για το git mergetool έχει τροποποιηθεί για να διευθετήσει και να αριθμεί buffers με τη σειρά που θα ταιριάζει με την προσδοκία της πλειοψηφίας των ανθρώπων που διαβάζουν από αριστερά προς τα δεξιά και έπειτα από πάνω προς τα κάτω και να εκχωρούν buffers 1 2 3 4 " σε τοπικά παράθυρα απομακρυσμένης συγχώνευσης που βασίζονται σε αυτή τη σειρά.
- Η τεκμηρίωση για το "git clean" έχει διορθωθεί. ανέφερε ότι το .git / modules / * αφαιρείται δίνοντας δύο "-f", κάτι που δεν έχει συμβεί ποτέ.
- Οι διαδρομές που έχουν ειπωθεί στον ευρετήριο με το "add-N" δεν είναι ακόμα στο ευρετήριο, αλλά μερικές εντολές συμπεριφέρονται σαν να έχουν ήδη επιβλαβή τρόπο.
- Περιλαμβάνει επίσης μικροσκοπική τεκμηρίωση και ενημερώσεις δοκιμών.
Τι νέο υπάρχει στην έκδοση 2.6.4:
- Το σενάριο "configure" δεν εξέτασε σωστά το -lpthread, το οποίο αναστατώσει ορισμένους συνδέσμους.
- Προσθέστε υποστήριξη για να μιλήσετε http / https πάνω από το διακομιστή μεσολάβησης κάλτσες.
- Διόρθωση φορητότητας για τα Windows, η οποία μπορεί να ξαναγράψει μεταβλητή $ SHELL χρησιμοποιώντας διαδρομές εκτός POSIX.
- Επιτρέπουμε τώρα σε όλα τα άγκιστρα να αγνοούν την τυποποιημένη εισαγωγή τους, αντί να έχουν παράπονα για το SIGPIPE.
- Επιδιόρθωση κελύφους με συνεισφορά.
- Προσδιορίστε τη φορητότητα δοκιμής για ένα θέμα στο v2.6.1.
- Να επιτρέπεται η επέκταση tilde σε μερικές μεταβλητές http config.
- Δώστε μια χρήσιμη ειδική περίπτωση "diff / show --word-diff-regex =." ως παράδειγμα στην τεκμηρίωση.
- Επιδιόρθωση για μια γωνιακή θήκη σε κλάδο φίλτρου.
- Κάντε το git-p4 να λειτουργεί σε αποσπασμένη κεφαλή.
- Διευκρίνιση τεκμηρίωσης για "check-ignore" χωρίς "--verbose".
- Ακριβώς όπως το δέντρο εργασίας καθαρίζεται όταν ο χρήστης ακύρωσε την υποβολή στο P4Submit.applyCommit (), καθαρίστε το χάος αν το "p4 submit" αποτύχει.
- Η ύπαρξη ενός αρχείου .idx που έχει απομείνει χωρίς το αντίστοιχο αρχείο .pack στο αποθετήριο υπονομεύει την απόδοση. "git gc" έμαθε να τα κλαδεύει.
- Ο κώδικας για την προετοιμασία της σελίδας δέντρου εργασίας του προσωρινού καταλόγου για τη λειτουργία "dir-diff" ξεχάσει ότι οι συμβολικοί σύνδεσμοι δεν χρειάζεται να αντιγραφούν (ή να συμβληθούν) στην προσωρινή περιοχή, καθώς ο κώδικας έχει ήδη ξεχωριστές περιπτώσεις και αντικαταστήσει τους. Εκτός αυτού, ήταν λάθος να προσπαθήσουμε να υπολογίσουμε το όνομα αντικειμένου του στόχου της συμβολικής ζεύξης, η οποία ίσως δεν υπάρχει ούτε μπορεί να είναι ένας κατάλογος.
- Δεν υπήρχε τρόπος να ξεπεραστεί μια ρυθμισμένη μεταβλητή rebase.autostash από τη γραμμή εντολών, καθώς λείπει το "git rebase --no-autostash".
- Αφήστε το "git interpret-trailers" να τρέξει έξω από ένα αποθετήριο Git.
- Δημιουργήστε τον σωστό "βρώμικο" δείκτη για τις προτροπές του κελύφους, ακόμη και όταν βρισκόμαστε σε ορφανό ή αγέννητο κλάδο.
- Ορισμένες γωνιακές θήκες έχουν καθοριστεί σε αντιστοίχιση συμβολοσειρών που έγινε στην κατάσταση "git".
- Η κοινή εφαρμογή κρυπτογράφησης της SHA1_Update () από την Apple δεν διαρκεί περισσότερο από 4GB τη φορά και τώρα διαθέτουμε μια λύση μεταγλώττισης.
Τι νέο υπάρχει στην έκδοση 2.5.3:
- Το πειραματικό χαρακτηριστικό μη κρυπτογραφημένης κρυφής μνήμης ήταν buggy όταν εμπλέκονται μονοπάτια με μερικά επίπεδα υποκαταλόγων.
- Οι πρόσφατες εκδόσεις του "git am" έχουν μια παλινδρόμηση επιδόσεων στον κώδικα κώδικα "git am - skip", η οποία δεν υπάρχει πλέον στην ενσωματωμένη έκδοση στο front 'master'. Διορθώστε την παλινδρόμηση στην τελευταία έκδοση σε μορφή γραμματοσειράς που εμφανίζεται στο αρχείο συντήρησης 2.5.x και παλαιότερη.
Τι νέο υπάρχει στην έκδοση 2.4.6:
- "git fetch --depth =" και "git clone --depth =" εξέδωσε ένα ρηχό αίτημα μεταφοράς ακόμα και σε ένα πακέτο μεταφόρτωσης που δεν υποστηρίζει την δυνατότητα.
- "git fsck" χρησιμοποιείται για να αγνοήσει τα λείπει ή μη έγκυρα αντικείμενα που έχουν καταγραφεί στο reflog.
- Η ολοκλήρωση του tcsh γράφει ένα scriptlet bash, αλλά αυτό θα απέτυχε για τους χρήστες με το set noblobber.
- Οι πρόσφατες ενημερώσεις Mac OS X σπάσουν τη λογική για να ανιχνεύσουν ότι το μηχάνημα βρίσκεται στην τροφοδοσία εναλλασσόμενου ρεύματος στο δείγμα pre-auto-gc.
- "git format-patch -ignore-if-upstream A..B" δεν ήθελε να τροφοδοτηθεί ετικέτες ως δεσμεύσεις συνόρων.
- Επίσης περιέχει τυπογραφικά στοιχεία, ενημερώσεις τεκμηρίωσης και ασήμαντο κώδικα
- καθαρισμός.
Τι νέο υπάρχει στην έκδοση 2.4.2:
- "git rev-list - αντικείμενα $ old --not --all" για να δείτε αν όλα τα οποία είναι προσβάσιμα από το $ old είναι ήδη συνδεδεμένα με τα υπάρχοντα refs ήταν πολύ αναποτελεσματικά.
- Το "hash-object -literally" που εισήχθη στο v2.2 δεν ήταν έτοιμο να λάβει ένα πολύ μακρύ όνομα αντικειμένου.
- "git rebase - quiet" δεν ήταν αρκετά ήσυχο όταν δεν υπάρχει τίποτα να κάνει.
- Η ολοκλήρωση της τιμής παραμέτρου "log --decorate =" ήταν λανθασμένη.
- μήνυμα καταστροφής του φίλτρου "φίλτρο-υποκατάστημα" που τελειώνει με μια ατελής γραμμή σε πλατφόρμες με κάποιες "καθιστικές" υλοποιήσεις που διορθώνουν μια τέτοια γραμμή. Εργαστείτε γύρω από την αποφυγή χρήσης "sed".
- "Δαίμονας git" αποτυγχάνει να δημιουργηθεί από την πηγή υπό διαμόρφωση NO_IPV6 (παλινδρόμηση στο 2.4).
- "git stash pop / apply" ξεχάσατε να βεβαιωθείτε ότι όχι μόνο το δέντρο εργασίας είναι καθαρό αλλά και ο δείκτης είναι καθαρός. Ο τελευταίος είναι σημαντικός, καθώς μπορεί να υπάρξει διένεξη σε μια εφαρμογή απόκρυψης και ο δείκτης θα χρησιμοποιηθεί για την επίλυση συγκρούσεων.
- Υπολογίσαμε $ GIT_EXEC_PATH και η διαδρομή "git" είναι εγκατεστημένη (συνήθως "/ usr / bin") στο $ PATH όταν επικαλείται υποπρογράμματα και γάντζους σχεδόν για αιωνιότητα, αλλά η αρχική περίπτωση χρήσης -Gogus (δηλ. εγκαταστήστε το git στο / opt / foo / git και εκτελέστε το χωρίς να έχετε / opt / foo στο $ PATH) και το πιο σημαντικό είναι ότι όλο και λιγότερο έχει σχέση με το Git. στο $ PATH). Σταματήστε να προσθέτετε τη διαδρομή στην οποία είναι εγκατεστημένο το "git" στο $ PATH των χρηστών, καθώς αυτό θα παρεμπόδιζε την εντολή αναζήτησης εντολών από τους ανθρώπους (για παράδειγμα, μπορεί να μην αρέσουν εκδόσεις προγραμμάτων που δεν σχετίζονται με το Git στο / usr / bin και θέλουν αντικαταστήστε τους με διαφορετικούς σε / usr / local / bin και έχουν τον τελευταίο κατάλογο νωρίτερα στο $ PATH τους).
- Επίσης περιέχει τυπογραφικά στοιχεία, ενημερώσεις τεκμηρίωσης και καθαρές εκδόσεις κώδικα.
Τα σχόλια δεν βρέθηκε