Κυριακή, 29 Σεπτεμβρίου, 2024
ΑρχικήSales EventsΠώς να παρακολουθείτε τον κλάδο Git στο Linux: Πρακτικές συμβουλές για τη...

Πώς να παρακολουθείτε τον κλάδο Git στο Linux: Πρακτικές συμβουλές για τη διατήρηση της ενημέρωσης


Βασικά Takeaways

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



Η χρήση κλαδιών στο Git είναι τόσο ανώδυνη, που το κάνουμε πολύ. Τόσο πολύ που η παρακολούθηση του τρέχοντος κλάδου σας δεν είναι εύκολη. Με αυτό το κόλπο, δεν θα ξεχάσετε ποτέ το τρέχον υποκατάστημά σας.


κλάδων Git

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

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

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


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

Getting Your Git Branch ως String

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

git branch 

Αυτό εμφανίζει όλους τους κλάδους στο αποθετήριο. Ο τρέχων κλάδος, αποθηκευμένο παιχνίδι, επισημαίνεται με έναν αστερίσκο. Βολικά, είναι η μόνη γραμμή με αστερίσκο. Αυτό σημαίνει ότι μπορούμε να διοχετεύσουμε την έξοδο από την εντολή git στο sed και να χρησιμοποιήσουμε τις δυνατότητες χειρισμού ροής της εντολής sed για να αφαιρέσουμε γραμμές χωρίς αστερίσκο. Για τη μοναδική γραμμή που απομένει, μπορούμε να χρησιμοποιήσουμε το sed για να αφαιρέσουμε τον αστερίσκο και το διάστημα.


git branch | sed -e '/^[^*]/d' -e 's/* \(.*\)/\1/' 
Σωλήνωση της εξόδου της εντολής git branch στο sed για απομόνωση του τρέχοντος ονόματος κλάδου.

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

Εκδίδουμε την τυπική εντολή διακλάδωσης git.

git branch 

Η έξοδος διοχετεύεται σε sed. Υπάρχουν δύο sed εκφράσεις. Η πρώτη έκφραση διαγράφει γραμμές που όχι περιέχουν έναν αστερίσκο.

-e '/^[^*]/d' 

Η δεύτερη έκφραση αφαιρεί τον αστερίσκο και το διάστημα, από τη μία γραμμή που απομένει.

-e 's/* \(.*\)/\1/' 

Λειτουργεί, αλλά δεν είναι όλοι εξοικειωμένοι ή άνετοι με το sed. Όταν το δείτε σε έξι μήνες, είναι πιθανό να έχει νόημα; Μπορούμε να αξιοποιήσουμε το git και το Bash για να δημιουργήσουμε μια απλούστερη μέθοδο.


Ένα άλλο πράγμα που λειτουργεί υπέρ μας είναι, από την έκδοση 2.2, η εντολή git branch είχε μια επιλογή που ονομάζεται –show-current. Αυτό εμφανίζει το όνομα του τρέχοντος κλάδου από μόνο του.

git branch  
Χρησιμοποιώντας την επιλογή --show-current με την εντολή git branch για να αποκτήσετε το όνομα του τρέχοντος κλάδου.

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


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

git status
echo $?
Εκτέλεση της εντολής κατάστασης git έξω από ένα αποθετήριο, για να δείτε την τιμή του κωδικού εξόδου αποτυχίας.

Σε έναν κατάλογο με αποθετήριο, η τιμή εξόδου του είναι μηδέν.

git status
echo $?
Εκτελώντας την εντολή git status μέσα σε ένα αποθετήριο, για να δείτε την επιτυχή τιμή του κωδικού εξόδου.

Μπορούμε να συνδέσουμε αυτήν την εντολή και την εντολή git branch, οπότε η εντολή git branch εκτελείται μόνο εάν η εντολή git status επιστρέψει μηδέν. Το άλλο πράγμα που θα κάνουμε είναι να ανακατευθύνουμε όλη την έξοδο της οθόνης από την εντολή git status στο /dev/null, ένα ψευδοαρχείο που καταναλώνει αθόρυβα ό,τι του αποστέλλεται.


git status &> /dev/null && echo " $(git branch --show-current)"
cd taf
git status &> /dev/null && echo " $(git branch --show-current)"
Εκτέλεση δύο αλυσιδωτών εντολών Git εκτός και εντός καταλόγου με ένα αποθετήριο, για να ελέγξουμε ότι λαμβάνουμε έξοδο οθόνης μόνο με επιτυχία.

Έχουμε καταργήσει όλη την έξοδο από την εντολή git status, η οποία είναι ακριβώς αυτό που χρειαζόμαστε. Μέσα σε έναν κατάλογο που δεν περιέχει αποθετήριο, δεν υπάρχει έξοδος οθόνης. Μέσα σε έναν κατάλογο που περιέχει ένα αποθετήριο, βλέπουμε το όνομα του τρέχοντος κλάδου.

Θα μπορούσαμε απλώς να αφήσουμε την εντολή git branch να γράψει το όνομα του τρέχοντος κλάδου στο παράθυρο του τερματικού ως έχει, αλλά τυλίγοντάς το σε μια εντολή echo, μπορούμε να συμπεριλάβουμε ένα αρχικό διάστημα. Ο χώρος θα διαχωρίσει το όνομα του κλάδου από το όνομα του καταλόγου στη γραμμή εντολών, καθιστώντας το πιο εύκολο να το δείτε με μια ματιά.


Προσθήκη της συμβολοσειράς στην προτροπή Bash

Αποκτήσαμε το όνομα του τρέχοντος κλάδου Git και έχουμε έναν τρόπο να το μεταφέρουμε στην οθόνη, διαμορφωμένο με ένα αρχικό διάστημα. Τώρα θα το ενσωματώσουμε στη γραμμή εντολών.

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

Στο Bash, ο ορισμός της γραμμής εντολών είναι συνήθως (αλλά όχι πάντα) στο αρχείο .bashrc. Αυτό είναι ένα κρυφό αρχείο συστήματος, που βρίσκεται στον αρχικό σας κατάλογο.

ρησιμοποιήστε το αγαπημένο σας πρόγραμμα επεξεργασίας για να επεξεργαστείτε το αρχείο .bashrc.

Το αρχείο .bashrc σε ένα πρόγραμμα επεξεργασίας, με τον ορισμό της γραμμής εντολών τονισμένο.

Αναζητήστε τη γραμμή που ορίζει τη γραμμή εντολών σας. Συνήθως ξεκινά με:

PS1= 

Σε αυτόν τον υπολογιστή Ubuntu, η γραμμή που θέλουμε είναι:


PS1='${debian_chroot:+($debian_chroot)}\[\033[01;32m\]\u@\h\[\033[00m\]:\[\033[01;34m\]\w\[\033[00m\]\$ ' 

Υπάρχει μια άλλη γραμμή ‘PS1 =’ κάτω από αυτήν, αλλά είναι πολύ μικρότερη. Εάν διαβάσετε τι συμβαίνει στο μπλοκ if-then, θα δείτε ότι ένα μήνυμα είναι για έγχρωμες οθόνες και ένα για μονόχρωμες. Εάν χρησιμοποιείτε το Git, είστε κωδικοποιητής. Σύντομα θα μπορείτε να καταλάβετε ποια είναι αυτή με την οποία πρέπει να εργαστείτε.

Θα προσθέσουμε τη συνάρτησή μας πάνω από το μπλοκ if-then. Το ονομάζω get_git_branch.

Η συνάρτηση get_git_branch προστέθηκε στο αρχείο .bashrc.

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

Αυτό είναι το τέλος του γρήγορου ορισμού.


\w\[\033[00m\]\$ ' 

Έτσι είναι φτιαγμένο.

\w 

Αυτό είναι ένα διακριτικό που αντικαθίσταται από τον κατάλογο εργασίας όταν εμφανίζεται η γραμμή εντολών.

\[\033[00m\] 

Αυτός είναι ένας χρωματικός κώδικας ASCII. Ρυθμίζει το χρώμα του κειμένου ξανά σε λευκό, έτσι ώστε το σύμβολο του δολαρίου ‘$’ στην προτροπή να εμφανίζεται σε λευκό κείμενο.

\$ ' 

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

Θα καλέσουμε τη συνάρτησή μας αμέσως μετά το διακριτικό ‘\w’. Θα εισαγάγουμε επίσης έναν χρωματικό κωδικό για να εμφανίσουμε τον τρέχοντα κλάδο του Git με κίτρινο χρώμα, για να τον κάνουμε να ξεχωρίζει. Αυτό είναι το κείμενο που θα εισαγάγουμε.

\[\033[01;33m\]$(get_git_branch) 

Σημειώστε ότι δεν υπάρχουν κενά στο εισαγόμενο κείμενο. Έτσι φαίνεται η πλήρης γραμμή εντολών με τις προσθήκες μας.

PS1='${debian_chroot:+($debian_chroot)}\[\033[01;32m\]\u@\h\[\033[00m\]:\[\033[01;34m\]\w\[\033[01;33m\]$(get_git_branch)\[\033[00m\]\$ ' 
Ο κωδικός χρώματος ASCII και η κλήση συνάρτησης έχουν εισαχθεί στον ορισμό της γραμμής εντολών.


Αποθηκεύστε τις αλλαγές σας και κλείστε το πρόγραμμα επεξεργασίας. Κλείστε τα παράθυρα του τερματικού σας και ανοίξτε ένα νέο παράθυρο τερματικού. Θα δείτε μια κανονική γραμμή εντολών. Πλοηγηθείτε σε έναν κατάλογο που περιέχει ένα αποθετήριο Git.

pwd
cd taf
Έλεγχος της γραμμής εντολών έξω και μέσα σε ένα αποθετήριο Git.

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

git checkout timed-events 
Έλεγχος ενός κλάδου Git για να επαληθεύσετε ότι η γραμμή εντολών αντικατοπτρίζει τον νέο τρέχοντα κλάδο.

Δεν είναι μόνο για το Git

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


Για παράδειγμα, εάν δημιουργήσετε αυτήν τη συνάρτηση και την καλέσετε από την προτροπή αντί να καλέσετε το get_git_branch, θα δείτε την ώρα στην προτροπή σας.

get_time() {
  echo " $(date +%r)"
}
Ο χρόνος που ενσωματώνεται σε μια γραμμή εντολών.



VIA: HowToGeek.com

Dimitris Marizas
Dimitris Marizashttps://www.cybervista.gr
Αφοσιωμένος λάτρης κινητών Samsung, ο Δημήτρης έχει εξελίξει μια ιδιαίτερη σχέση με τα προϊόντα της εταιρίας, εκτιμώντας τον σχεδιασμό, την απόδοση και την καινοτομία που προσφέρουν. Γράφοντας και διαβάζοντας τεχνολογικά νέα από όλο τον κόσμο.
RELATED ARTICLES

ΑΦΗΣΤΕ ΜΙΑ ΑΠΑΝΤΗΣΗ

εισάγετε το σχόλιό σας!
παρακαλώ εισάγετε το όνομά σας εδώ

- Advertisment -

Most Popular

Recent Comments