-
1. Ξεκινώντας με το Git
-
2. Τα θεμελιώδη στοιχεία του Git
-
3. Διακλαδώσεις στο Git
-
4. Το Git στον διακομιστή
- 4.1 Τα πρωτόκολλα
- 4.2 Εγκατάσταση του Git σε διακομιστή
- 4.3 Δημιουργία δημόσιου κλειδιού SSH
- 4.4 Στήσιμο του διακομιστή
- 4.5 Δαίμονες του Git
- 4.6 Έξυπνο HTTP
- 4.7 GitWeb
- 4.8 GitLab
- 4.9 Επιλογές φιλοξενίας από τρίτους
- 4.10 Ανακεφαλαίωση
-
5. Κατανεμημένο Git
-
6. GitHub
-
7. Εργαλεία του Git
- 7.1 Επιλογή αναθεώρησης
- 7.2 Διαδραστική εργασία με το στάδιο καταχώρισης
- 7.3 Αποθέματα και Καθαρισμός
- 7.4 Υπογραφή της δουλειάς μας
- 7.5 Αναζήτηση
- 7.6 Η ιστορία ξαναγράφεται
- 7.7 Απομυθοποίηση της reset
- 7.8 Προχωρημένη Συγχώνευση
- 7.9 Rerere
- 7.10 Αποσφαλμάτωση με το Git
- 7.11 Υπομονάδες
- 7.12 Δεμάτιασμα δεδομένων
- 7.13 Replace
- 7.14 Αποθήκευση διαπιστευτηρίων
- 7.15 Ανακεφαλαίωση
-
8. Εξατομίκευση του Git
-
9. Το Git και άλλα συστήματα
- 9.1 Το Git ως πελάτης
- 9.2 Μετανάστευση στο Git
- 9.3 Ανακεφαλαίωση
-
10. Εσωτερική λειτουργία του Git
- 10.1 Διοχετεύσεις και πορσελάνες
- 10.2 Αντικείμενα του Git
- 10.3 Αναφορές του Git
- 10.4 Πακετάρισμα αρχείων
- 10.5 Τα refspec
- 10.6 Πρωτόκολλα μεταφοράς
- 10.7 Διατήρηση και ανάκτηση δεδομένων
- 10.8 Μεταβλητές περιβάλλοντος
- 10.9 Ανακεφαλαίωση
-
A1. Appendix A: Το Git σε άλλα περιβάλλοντα
- A1.1 Γραφικές διεπαφές
- A1.2 Το Git στο Visual Studio
- A1.3 Git στο Visual Studio Code
- A1.4 Git στο IntelliJ / PyCharm / WebStorm / PhpStorm / RubyMine
- A1.5 Git στο Sublime Text
- A1.6 Το Git στο Bash
- A1.7 Το Git στο Zsh
- A1.8 Το Git στο Powershell
- A1.9 Ανακεφαλαίωση
-
A2. Appendix B: Ενσωμάτωση του Git στις εφαρμογές μας
- A2.1 Γραμμή εντολών Git
- A2.2 Libgit2
- A2.3 JGit
- A2.4 go-git
- A2.5 Dulwich
-
A3. Appendix C: Εντολές Git
- A3.1 Ρύθμιση και διαμόρφωση
- A3.2 Λήψη και δημιουργία έργων
- A3.3 Βασική λήψη στιγμιοτύπων
- A3.4 Διακλάδωση και συγχώνευση
- A3.5 Κοινή χρήση και ενημέρωση έργων
- A3.6 Επιθεώρηση και σύγκριση
- A3.7 Αποσφαλμάτωση
- A3.8 Επιθέματα
- A3.9 Ηλεκτρονικό ταχυδρομείο
- A3.10 Εξωτερικά Συστήματα
- A3.11 Διοίκηση
- A3.12 Εντολές διοχέτευσης
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>
-
και το 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
Και τα δύο αυτά σενάρια έρχονται με χρήσιμη τεκμηρίωση· περισσότερες πληροφορίες μπορεί να βρει κανείς στα περιεχόμενα των git-completion.bash και git-prompt.sh.