Πώς να χρησιμοποιήσετε το Git Log για να μορφοποιήσετε το ιστορικό δεσμεύσεων;



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

Σε αυτό το άρθρο, θα συζητήσουμε μερικές σύνθετες επιλογές για τη μορφοποίηση και την εκτύπωση των αρχείων καταγραφής δεσμεύσεων για τη λήψη των πληροφοριών που χρειάζεστε από το ιστορικό του ημερολογίου του έργου σας. Δεδομένου ότι ήδη γνωρίζουμε, διατηρεί ένα περιοδικό των αλλαγών που έχουν δεσμευτεί στο ιστορικό του έργου, θα διερευνήσουμε τώρα περισσότερους τρόπους με τους οποίους η εντολή «git log» είναι χρήσιμη.

Πρώτον, αλλάζω / ελέγξω τον κλάδο 'feature1' για μια βολική και συντομότερη ιστορία.
Χρησιμοποιήστε τις εντολές -





$cd myProj- Μεταβείτε στο έργο git

$git checkout χαρακτηριστικό1- μεταβείτε στον κλάδο 'feature1'



1. Δέσμευση μορφοποίησης

1.1 Εκτυπώστε αρκετά τα περιεχόμενα εξόδου σε μια δεδομένη μορφή

Σύνταξη: git log --pretty [=]

που, μπορεί να είναι ένα από τα μία γραμμή, μικρός, Μεσαίο, γεμάτος, πληρέστερη, ΗΛΕΚΤΡΟΝΙΚΗ ΔΙΕΥΘΥΝΣΗ, ακατέργαστος, και μορφή:
Πότε = παραλείπεται μέρος, από προεπιλογή Μεσαίο.

1.1.1 - όμορφο = on-line

Pretty print comm log in 'single line'
Εντολή: git log --pretty = διαδικτυακά
Μορφοποιεί την έξοδο στη σειρά:




Commit - Ιστορικό μορφής αρχείου καταγραφής Git - Edureka

1.1.2 - όμορφη = σύντομη

Μορφοποίηση εξόδου δέσμευσης 'σύντομη' με τη μορφή:
δεσμεύω (μετονομασία)
Συγγραφέας:



1.1.3 - όμορφη = μέτρια

Εντολή: git log --pretty = μέσο
Εκτύπωση δέσμευσης εξόδου σε μορφή 'μέσου':
διαπράττω
Συγγραφέας :
Ημερομηνία:


1.1.4 - όμορφη = πλήρης

Εντολή: git log --pretty = πλήρες
Η έξοδος έχει τη μορφή:
δεσμεύω (μετονομασία)
Συγγραφέας:
Διαπράττω:


1.1.5 - όμορφη = πληρέστερη

Εντολή: git log --pretty = πληρέστερη
δεσμεύω (μετονομασία)
Συγγραφέας:
Ημερομηνία συγγραφέα :
Διαπράττω:
CommitDate:


1.1.6 - όμορφο = email

Εντολή: git log --pretty = email
Εκτύπωση εξόδου καταγραφής σε μορφή στυλ email:
Από
Από:
Ημερομηνία:
Θέμα: [ΚΗΛΙΔΑ]


1.1.7 - αρκετά = ακατέργαστο

Εντολή: git log --pretty = ακατέργαστο
Η μορφή εξόδου πρωτοτύπου καταγραφής δείχνει ολόκληρη τη δέσμευση ακριβώς όπως αποθηκεύεται στο αντικείμενο δέσμευσης.
διαπράττω
δέντρο
μητρική εταιρεία
συγγραφέας
διαπράττω

1.1.8 - Μορφή:: Προσαρμοσμένη μορφοποίηση

Η μορφή σάς επιτρέπει να καθορίσετε ποιες πληροφορίες του αντικειμένου δέσμευσης θέλετε να εκτυπώσετε στο αρχείο καταγραφής εξόδου δέσμευσης
Ας εξετάσουμε τα διάφορα σύμβολα κράτησης θέσης που παρέχει αυτή η επιλογή όπως μια λειτουργία 'C printf' με τη βοήθεια αποσπασμάτων κώδικα:

Εντολή: git log --pretty = μορφή: '% h% διαφήμιση | % s% d [% an] '- ημερομηνία = σύντομη
Μορφή εξόδου:
| [όνομα συγγραφέα]

% ω = Συντομευμένα αναγνωριστικά hash-id / sha1commit
% Η = μεγάλα sha-1 id
%προς το = ημερομηνία συγγραφής
%μικρό = δεσμεύστε τη γραμμή τίτλου θέματος
%ρε = ονόματα δείκτη αναφοράς (κλάδος, ετικέτα)
%ένα = όνομα συγγραφέα
-ημερομηνία = σύντομο: Εκτυπώστε μόνο την ημερομηνία και όχι την ώρα σε αναγνώσιμη μορφή

Τώρα, πώς να κάνετε αυτή την έξοδο πιο φιλική προς τον άνθρωπο, χρησιμοποιώντας χρώματα.
Εντολή:
git log --pretty = μορφή: '% C (κίτρινο)% h% Creset% ad | % Cgreen% s% Creset% Cred% d% Creset% Cblue [% an] '- ημερομηνία = σύντομη


Ορισμένα άλλα σύμβολα κράτησης θέσης που χρησιμοποιούνται στο παραπάνω απόσπασμα κώδικα είναι:
% C (κίτρινο) : Γυρίστε την ακόλουθη συμβολοσειρά σε κίτρινο
% Creset : Επαναφέρετε την ακόλουθη συμβολοσειρά στο προεπιλεγμένο (λευκό) χρώμα
% Πράσινο : αλλαγή μετά από συμβολοσειρά σε πράσινο
%Υποθέτω: Αλλάξτε την ακόλουθη συμβολοσειρά σε κόκκινο
% Cblue: Κάντε το όνομα του συγγραφέα μπλε χρώμα

Δεν χρειάζεται να θυμάστε και να γράφετε ολόκληρη την εντολή κάθε φορά, απλώς χρησιμοποιήστε ένα σύντομο όνομα ως git ψευδώνυμο όπως φαίνεται παρακάτω:
Εντολή:
git config --global alias.c-hist 'log --pretty = μορφή:'% C (κίτρινο)% h% Creset% ad | % Cgreen% s% Creset% Cred% d% Creset% Cblue [% an] '- ημερομηνία = σύντομο'

«C-hist» αντιπροσωπεύει ντο ustomized- ιστορικό Όρι
Έτσι, όπως θα είχατε παρατηρήσει, ρυθμίζω το παγκόσμιο διαμόρφωση git αρχείο με τις τιμές.

πώς να κάνετε δοκιμές βάσης δεδομένων

Τώρα, για να ελέγξετε το ιστορικό του τρέχοντος κλάδου, το μόνο που έχετε να κάνετε είναι να εκτελέσετε την εντολή, όπως έτσι:
Εντολή: πηγαίνετε στο c-hist

1.2 –abbrev-commit: Συντομεύστε το hash-id git

Εντολή: git log --abbrev-δέσμευση
Το πλήρες δεκαεξαδικό όνομα αντικειμένου δέσμευσης 40 byte συντομεύεται στα προεπιλεγμένα 7-byte.


Ας το κάνουμε με το «--μία γραμμή«Επιλογή για βολική προβολή, όπως:
Εντολή: git log --abbrev-comm - σε απευθείας σύνδεση

Αυτό που είναι πιο συναρπαστικό είναι ότι μπορείτε επίσης να καθορίσετε το μήκος byte των αναγνωριστικών sha-1 χρησιμοποιώντας την επιλογή «–abbrev =», όπως φαίνεται παρακάτω:
Εντολή: git log --abbrev-commit --abbrev = 5 - σε απευθείας σύνδεση



Σαφώς, τα επισημασμένα αναγνωριστικά sha-1 μειώνονται σε μέγεθος 5 byte.

1.3 –no-abbrev-commit

Εμφάνιση του πλήρους δεκαεξαδικού ονόματος αντικειμένου δέσμευσης 40 byte.
Αυτό αρνείται –Abbrev-commit και τις επιλογές που υπονοούν
όπως '–η γραμμή'.
Εντολή: git log --pretty = online --no-abbrev-commit



1.4 - σχετική ημερομηνία

Εντολή: git log - σχετική ημερομηνία

Λάβετε υπόψη ότι αυτός ο επισημασμένος χρόνος υπόκειται σε αλλαγή σε σχέση με τον χρόνο εκτέλεσης της εντολής στο σύστημά σας.

1.5 – ημερομηνία =

Μπορείτε επίσης να μορφοποιήσετε την ημερομηνία καταγραφής δεσμεύσεων σε οποιαδήποτε από τις ακόλουθες επιλογές μορφής:

1.5.1 - ημερομηνία = σχετική

Εντολή :git log - ημερομηνία = σχετικός
Αυτό είναι συνώνυμο με την παραπάνω εντολή 'git log - σχετική ημερομηνίαΚαι εκτυπώνει τις ίδιες δεσμεύσεις.

1.5.2 - ημερομηνία = τοπική

Εντολή : git log - ημερομηνία = τοπικό

1.5.3 - ημερομηνία = iso

Εντολή: git log - ημερομηνία = iso

1.5.4 - ημερομηνία = αυστηρή

Εντολή: git log - ημερομηνία = αυστηρή

1.5.5 - ημερομηνία = rfc

Εντολή: git log - ημερομηνία = rfc

1.5.6 - ημερομηνία = σύντομη

Εντολή: git log - ημερομηνία = σύντομη

1.5.7 - ημερομηνία = ακατέργαστο (δείχνει την ημερομηνία σε δευτερόλεπτα)

Εντολή: git log - ημερομηνία = ακατέργαστο
Εκτυπώστε την ώρα ως δευτερόλεπτα από το unix epoc ώρα (1 Ιανουαρίου 1970) ακολουθούμενη από τη ζώνη ώρας.

1.5.8 - ημερομηνία = άνθρωπος

Εντολή: git log - ημερομηνία = ανθρώπινο

1.5.9 - ημερομηνία = unix

Εμφανίζει την ημερομηνία ως unix epoc (UTC) ώρα.
Εντολή: git log - ημερομηνία = unix

1.6 - γονείς

Εκτυπώστε επίσης τους γονείς κάθε δέσμευσης με τη μορφή:
Εντολή: git log - γονείς
Εντολή εξόδου Oneliner: git log - γονείς - σε απευθείας σύνδεση

Σημεία που πρέπει να σημειωθούν:
C366419 είναι μια συγχώνευση, έχει ως εκ τούτου 2 γονείς αντίστοιχα: feeb30c και 4920 adc
Επίσης

1d67b50 είναι μια δέσμευση συγχώνευσης, που προέκυψε από τη συγχώνευση f2ff2e4 και abb694b
078f9f5 είναι μια δέσμευση συγχώνευσης που δημιουργήθηκε από τη συγχώνευση 9α2412ε και ab3a5e5
Ενώ, 86792γ6 είναι η αρχική δέσμευση, επομένως δεν υπάρχει γονέας.

1.7 - παιδιά

Εκτυπώστε επίσης τα παιδιά στη φόρμα
Εντολή: git log - παιδιά - σε απευθείας σύνδεση

Σημείωση :
Το 006b9ce είναι η πιο πρόσφατη δέσμευση, ως εκ τούτου δεν έχει ακόμη δεσμευτεί κανένα αντικείμενο. Η επόμενη αλλαγή που θα κάνετε και δεσμεύσετε σε αυτόν τον κλάδο θα είναι η θυγατρική αντικείμενο αυτού του τελευταίου αναγνωριστικού sha-1.

1.8 – γραφή

Σχεδιάστε μια γραφική αναπαράσταση κειμένου του ιστορικού δεσμεύσεων πριν από τα sha-1 id.
Εντολή: git log - γράφημα
Βελτιωμένη παραγωγή oneliner: git log --graph - σε απευθείας σύνδεση


Αυτό σας επιτρέπει να καταλάβετε πότε, πώς και γιατί και άλλοι κλάδοι συγχωνεύτηκαν με τον τρέχοντα διαχωρισμένο κλάδο.

1.9 - εμφάνιση γραμμικής διακοπής

Εντολή: git log - εμφάνιση-γραμμικό διάλειμμα
Αυτή είναι μια χρήσιμη εντολή, για να δείξει ένα εμπόδιο μεταξύ 2 διαδοχικών δεσμεύσεων που δεν ανήκουν σε γραμμικό κλάδο, με άλλα λόγια τις δεσμεύσεις που προέρχονταν από διαφορετικούς κλάδους.


Συγκρίνετε την παραπάνω έξοδο με την έξοδο εντολών «git log –graph» που δείχνει με σαφήνεια πώς συγχωνεύθηκαν οι δεσμεύσεις «γραμμικής διακοπής».

Μπόνους: Συνοψίστε την έξοδο καταγραφής git: «git shortlog»

Ο 'git shortlog«Η εντολή κατηγοριοποιεί τον συντάκτη των καταγραφών δέσμευσης και εκτυπώνει μια σύνοψη επισκόπησης, υποδεικνύοντας τις δεσμεύσεις που έγιναν από κάθε συγγραφέα.
Εντολή: git log shortlog

Εντολή : git log shortlog -s
-s σημαίνει «Περίληψη, καταστολή περιγραφής δέσμευσης και απλώς εκτύπωση του αριθμού των δεσμεύσεων από κάθε συγγραφέα, όπως έτσι:

Επιπλέον, θα μπορούσατε επίσης να μορφοποιήσετε την έξοδο χρησιμοποιώντας τα ίδια σύμβολα κράτησης θέσης όπως συζητήθηκε στο «--pretty = μορφή«Επιλογή
Δοκιμάστε την εντολή: git shortlog --format = '% h | %μικρό'

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

Σημείωση : Είναι ενδιαφέρον να σημειωθεί ότι μπορείτε πολύ εύκολα να βρείτε τον κλάδο που έκανε μια συγκεκριμένη δέσμευση. Αξίζει να αναλυθεί σε βάθος αυτή η συζήτηση σε προσεχή άρθρα.

Έτσι, φτάνουμε στο τέλος αυτούΙστορικό μορφής καταγραφής Gitblog, ελπίζω να το βρήκατε ενημερωτικό.

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

Αν θέλετε να μάθετε περισσότερα, μπορείτε να το δείτε από την Edureka, μια αξιόπιστη διαδικτυακή εταιρεία εκμάθησης με δίκτυο περισσότερων από 250.000 ικανοποιημένων μαθητών σε όλο τον κόσμο. Το μάθημα εκπαίδευσης πιστοποίησης Edureka DevOps βοηθά τους μαθητές να κατανοήσουν τι είναι DevOps και να αποκτήσουν εμπειρία σε διάφορες διαδικασίες και εργαλεία DevOps όπως Puppet, Jenkins, Nagios, Ansible, Chef, Saltstack και GIT για την αυτοματοποίηση πολλαπλών βημάτων στο SDLC.

Έχετε μια ερώτηση για εμάς; Παρακαλώ αναφέρετέ το στην ενότητα σχολίων αυτού του άρθρου σχετικά με το 'Ιστορικό μορφών καταγραφής Git' και θα επικοινωνήσουμε μαζί σας.