-
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 stash και clean
- 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 στο Eclipse
- A1.4 Το Git στο Bash
- A1.5 Το Git στο Zsh
- A1.6 Το Git στο Powershell
- A1.7 Ανακεφαλαίωση
-
A2. Appendix B: Ενσωμάτωση του Git στις εφαρμογές μας
- A2.1 Γραμμή εντολών Git
- A2.2 Libgit2
- A2.3 JGit
-
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.5 Appendix A: Το Git σε άλλα περιβάλλοντα - Το Git στο Zsh
Το Git στο Zsh
Το Git περιέχει επίσης με μια βιβλιοθήκη συμπλήρωσης με tab για το Zsh.
Απλά αντιγράφουμε το contrib/completion/git-completion.zsh
στον αρχικό μας κατάλογο και το περνάμε από την source μέσα από το αρχείο μας .zshrc
.
Το περιβάλλον του Zsh είναι λίγο πιο ισχυρό από αυτό του Bash:
$ git che<tab>
check-attr -- display gitattributes information
check-ref-format -- ensure that a reference name is well formed
checkout -- checkout branch or paths to working tree
checkout-index -- copy files from index to working directory
cherry -- find commits not merged upstream
cherry-pick -- apply changes introduced by some existing commits
Οι αμφισβητούμενες συμπληρώσεις με tab δεν αναφέρονται απλά· έχουν χρήσιμες περιγραφές και μπορούμε να πλοηγηθούμε γραφικά στη λίστα πατώντας επανειλημμένα την καρτέλα. Αυτό λειτουργεί με εντολές Git, τα ορίσματά τους και τα ονόματα άλλων πραγμάτων μέσα στο αποθετήριο (όπως refs και απομακρυσμένα αποθετήρια), καθώς και τα ονόματα αρχείων και όλα τα άλλα πράγματα, τα οποία γνωρίζει το Zsh πώς να τα συμπληρώσει με tab.
Το Zsh συμβαίνει να είναι αρκετά συμβατό με το Bash όταν πρόκειται για την εξατομίκευση της προτροπής, αλλά μας επιτρέπει να έχουμε και μια προτροπή από τα δεξιά.
Για να συμπεριλάβουμε το όνομα του κλάδου στη δεξιά πλευρά, προσθέοτυμε αυτές τις γραμμές στο αρχείο ~/.zshrc
:
setopt prompt_subst
. ~/git-prompt.sh
export RPROMPT=$'$(__git_ps1 "%s")'
Αυτό έχει ως αποτέλεσμα την εμφάνιση του τρέχοντος κλάδου στη δεξιά πλευρά του παραθύρου του τερματικού, όποτε το κέλυφος μας βρίσκεται μέσα σε ένα αποθετήριο Git. Μοιάζει λίγο σαν αυτό:

zsh
.Το Zsh είναι αρκετά ισχυρό ώστε να υπάρχουν ολόκληρα πλαίσια που είναι αφιερωμένα στο να το καταστήσουν καλύτερο.
Ένα από αυτά ονομάζεται oh-my-zsh
και διατίθεται στη διεύθυνση https://github.com/robbyrussell/oh-my-zsh.
Το σύστημα προσθήκης του oh-my-zsh έρχεται με ισχυρή συμπλήρωση με tab για το git και έχει μια ποικιλία από “θέματα”, πολλά από τα οποία εμφανίζουν δεδομένα ελέγχου έκδοσης.
Η εικόνα Ένα παράδειγμα ενός θέματος oh-my-zsh
. είναι μόνο ένα παράδειγμα του τι μπορεί να γίνει με αυτό το σύστημα.

oh-my-zsh
.