-
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.8 Appendix C: Εντολές Git - Επιθέματα
Επιθέματα
Ορισμένες εντολές στο Git επικεντρώνονται στην έννοια της αντιληψης των υποβολών ως εισαγόμενων αλλαγών σαν μία σειρά από υποβολές να είναι μία σειρά από επιθέματα. Αυτές οι εντολές μας βοηθούν να διαχειριστούμε τους κλάδους μας με αυτόν τον τρόπο.
git cherry-pick
Η εντολή git cherry-pick
χρησιμοποιείται για να πάρει την αλλαγή που εισήχθη σε μια μοναδική υποβολή και να προσπαθήσει να την επαναλάβει ως νέα υποβολή για τον κλάδο στο οποίο βρισκόμαστε.
Αυτό μπορεί να είναι χρήσιμο όταν θέλουμε να πάρουμε μόνο μία ή δύο υποβολές από έναν κλάδο αντί να συγχωνεύσουμε τον κλάδο, κάτι που θα επιτελέσει όλες τις αλλαγές.
Η ανθολόγηση περιγράφεται και παρουσιάζεται στην ενότητα Ροές εργασίας με αλλαγή βάσης και ανθολόγηση.
git rebase
Η εντολή git rebase
είναι βασικά μια αυτοματοποιημένη ανθολόγηση.
Προσδιορίζει μια σειρά υποβολών και στη συνέχεια τις ανθολογεί μία μία σειρά με την ίδια σειρά κάπου αλλού.
Η αλλαγή βάσης καλύπτεται λεπτομερώς στην ενότητα << rebasing>>, συμπεριλαμβανομένων συνεργατικών ζητημάτων που σχετίζονται με την αλλαγή βάσης κλάδων που είναι ήδη δημόσιοι.
Τη χρησιμοποιούμε πρακτικά σε ένα παράδειγμα διαίρεσης του ιστορικού μας σε δύο χωριστά αποθετήρια στην ενότητα Replace στο οποίο χρησιμοποιούμε επίσης τη σημαία --onto
.
Στην ενότητα Rerere αντιμετωπίζουμε μια σύγκρουση συγχώνευσης κατά τη διαδικασία αλλαγής βάσης.
Επίσης, τη χρησιμοποιούμε στην ενότητα Αλλαγή πολλών μηνυμάτων υποβολών σε μια διαδραστική λειτουργία script με την επιλογή -i
.
git revert
Η εντολή git revert
είναι ουσιαστικά η αντίστροφη της git cherry-pick
.
Δημιουργεί μια νέα υποβολή που εφαρμόζει το ακριβώς αντίθετο από την αλλαγής που εισήχθη στην υποβολή που στοχεύουμε, ουσιαστικά αναιρόντας ή επαναφέροντάς την.
Τη χρησιμοποιούμε στην ενότητα Eπαναφορά της υποβολής για να αναιρέσουμε μια υποβολή συγχώνευσης.