Chapters ▾ 2nd Edition

A1.6 Appendix A: Το Git σε άλλα περιβάλλοντα - Το Git στο Bash

Το Git στο Bash

Αν είμαστε χρήστες του Bash, μπορούμε να αξιοποιήσουμε κάποιες από τις λειτουργίες του κελύφους μας για να κάνουμε την εμπειρία μας με το Git πολύ πιο φιλική. Το Git στην πραγματικότητα φέρει plugins για πολλά κελύφη (shells), αλλά δεν είναι ενεργοποιημένα από προεπιλογής.

Πρώτον, πρέπει να λάβουμε ένα αντίγραφο του αρχείου contrib/completion/git-completion.bash από τον πηγαίο κώδικα της Git έκδοσης που χρησιμοποιούμε. Ελέγχουμε την έκδοση πληκτρολογώντας git version, μετά χρησιμοποιούμε git checkout tags/vX.Y.Z, όπου το vX.Y.Z αντιστοιχεί στην έκδοση του Git που χρησιμοποιούμε. Αντιγράφουμε κάπου βολικά το αρχείο contrib/completion/git-completion.bash, όπως στον αρχικό (home) μας κατάλογο και προσθέτουμε το παρακάτω στο .bashrc μας:

. ~/git-completion.bash

Μόλις γίνει αυτό, αλλάζουμε τον κατάλογο σε ένα αποθετήριο Git και πληκτρολογούμε:

$ git chec<tab>
  1. και το Bash θα ολοκληρωθεί αυτόματα σε git checkout. Αυτό λειτουργεί με όλες τις δευτερεύουσες εντολές του Git, τις παραμέτρους της γραμμής εντολών και τα απομακρυσμένα αποθετήρια και τα ονόματα ref, όπου χρειάζεται.

Είναι επίσης χρήσιμο να προσαρμόσουμε την προτροπή μας ώστε να εμφανίζονται πληροφορίες σχετικά με το αποθετήριο Git του τρέχοντος καταλόγου. Αυτό μπορεί να είναι τόσο απλό ή όσο πολύπλοκο θέλουμε, αλλά υπάρχουν γενικά μερικά βασικά κομμάτια πληροφοριών που ο περισσότερος κόσμος θέλει, όπως ο τρέχων κλάδος, και η κατάσταση του καταλόγου εργασίας. Για να τα προσθέσουμε στην προτροπή μας, απλά αντιγράφουμε το αρχείο contrib/completion/git-prompt.sh από το αποθετήριο πηγαίου κώδικα του Git στον αρχικό (home) κατάλογό μας, και προσθέτουμε αυτό στο .bashrc μας:

. ~/git-prompt.sh
export GIT_PS1_SHOWDIRTYSTATE=1
export PS1='\w$(__git_ps1 " (%s)")\$ '

Το \w σημαίνει την εκτύπωση του τρέχοντος καταλόγου εργασίας, το \$ εκτυπώνει το τμήμα $ της προτροπής και το __git_ps1 " (%s)" καλεί τη λειτουργία που παρέχεται από το git-prompt.sh με ένα όρισμα μορφοποίησης. Τώρα η προτροπή του bash θα μοιάζει με αυτό όταν είμαστε οπουδήποτε μέσα σε ένα έργο που ελέγχεται από το Git:

Εξατομικευμένη προτροπή `bash`
Figure 184. Εξατομικευμένη προτροπή bash

Και τα δύο αυτά σενάρια έρχονται με χρήσιμη τεκμηρίωση· περισσότερες πληροφορίες μπορεί να βρει κανείς στα περιεχόμενα των git-completion.bash και git-prompt.sh.