-
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 Εντολές διοχέτευσης
A3.11 Appendix C: Εντολές Git - Διοίκηση
Διοίκηση
Εάν διαχειριζόμαστε ένα αποθετήριο Git ή χρειάζεται να διορθώσουμε κάποια πράγματα σε μεγάλη έκταση, το Git μάς παρέχει μια σειρά διοικητικών εντολών για να μας βοηθήσει.
git gc
Αυτή η εντολή εκτελείται κανονικά στο παρασκήνιο για εμάς, αν και μπορούμε να την εκτελέσουμε χειροκίνητα εάν το επιθυμούμε. Μερικά παραδείγματα αυτού παρουσιάζονται στην ενότητα Συντήρηση.
git fsck
Η εντολή git fsck
χρησιμοποιείται για να ελέγξει την εσωτερική βάση δεδομένων για προβλήματα ή ανακολουθίες.
Τη χρησιμοποιούμε μόνο μία φορά στην ενότητα Ανάκτηση δεδομένων για να αναζητήσουμε αντικείμενα που εκκρεμούν.
git reflog
Η εντολή git reflog
περνάει μέσα από ένα μητρώο στο οποίο καταγράφονται οι θέσεις των κεφαλών των κλάδων μας, ώστε να βρει υποβολές που ενδεχομένως έχουμε χάσει εξαιτίας επανεγγραφής του ιστορικού.
Καλύπτουμε αυτήν την εντολή κυρίως στην ενότητα RefLog Shortnames, όπου δείχνουμε την κανονική χρήση και πώς χρησιμοποιήσουμε το git log -g
για να δούμε τις ίδιες πληροφορίες με αυτές που δίνει η έξοδος της git log
.
Επίσης βλέπουμε ένα πρακτικό παράδειγμα ανάκτησης ενός τέτοιου χαμένου κλάδου στην ενότητα Ανάκτηση δεδομένων.
git filter
-branch`
Η εντολή 'git filter-branch` χρησιμοποιείται για να ξαναγράψει πολλές υποβολές σύμφωνα με ορισμένα μοτίβα, όπως η αφαίρεση ενός αρχείου από παντού ή το φιλτράρισμα ολόκληρου του αποθετηρίου σε έναν μόνο υποκατάλογο για την εξαγωγή του έργου.
Στην ενότητα Αφαίρεση ενός αρχείου από κάθε υποβολή εξηγούμε την εντολή και εξερευνούμε διάφορες επιλογές όπως --commit-filter
, --subdirectory-filter
και --tree-filter
.