-
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 Εντολές διοχέτευσης
6.1 GitHub - Δημιουργία λογαριασμού και ρύθμισή του
Το GitHub είναι ο μοναδικός μεγαλύτερος κεντρικός υπολογιστής για αποθετήρια Git και αποτελεί το κεντρικό σημείο συνεργασίας για εκατομμύρια προγραμματιστές και έργα. Ένα μεγάλο ποσοστό όλων των αποθετηρίων Git φιλοξενούνται στο GitHub και πολλά έργα ανοιχτού κώδικα το χρησιμοποιούν για φιλοξενία έργων Git, παρακολούθηση θεμάτων, έλεγχο κώδικα και άλλα πράγματα. Έτσι, ενώ δεν είναι άμεσο τμήμα του έργου ανοιχτού κώδικα Git, είναι πολύ πιθανό ότι θα θελήσουμε ή θα πρέπει να αλληλεπιδράσουμε με το GitHub σε κάποια φάση, όσο χρησιμοποιούμε το Git επαγγελματικά.
Αυτό το κεφάλαιο αφορά στην αποτελεσματική χρήση του GitHub. Θα καλύψουμε την εγγραφή και τη διαχείριση ενός λογαριασμού, τη δημιουργία και τη χρήση αποθετηρίων Git, κοινές ροές εργασίας για να συμβάλλουμε σε έργα και να δεχτούμε συνεισφορές στα δικά μας, το προγραμματιστικό περιβάλλον του GitHub και πολλές μικρές συμβουλές για να διευκολύνουμε τη ζωή μας γενικά.
Εάν δεν ενδιαφερόμαστε να χρησιμοποιήσουμε το GitHub για να φιλοξενήσουμε τα δικά μας έργα ή για να συνεργαστούμε με άλλα έργα που φιλοξενούνται στο GitHub, μπορούμε να μεταβούμε με ασφάλεια στο κεφάλαιο [ch07-git-tools].
Δημιουργία λογαριασμού και ρύθμισή του
Το πρώτο πράγμα που πρέπει να κάνουμε είναι να δημιουργήσουμε έναν δωρεάν λογαριασμό χρήστη. Απλά επισκεφτόμαστε τη διεύθυνση https://github.com, επιλέγουμε ένα όνομα χρήστη που δεν το έχει πάρει κάποιος άλλος, δίνουμε μια διεύθυνση e-mail και έναν κωδικό πρόσβασης και κάνουμε κλικ στο μεγάλο πράσινο κουμπί “Sign up for GitHub”.

Το επόμενο πράγμα που θα δούμε είναι η σελίδα τιμολόγησης για αναβαθμισμένα πακέτα, αλλά είναι ασφαλές να την αγνοήσουμε προς το παρόν. Το GitHub θα μας στείλει ένα μήνυμα e-mail για να επαληθεύσουμε τη διεύθυνση που δώσαμε. Ας το κάνουμε· είναι πολύ σημαντικό όπως θα δούμε αργότερα.
Note
|
Το GitHub παρέχει όλες τις λειτουργίες του με δωρεάν λογαριασμούς, με τον περιορισμό ότι όλα τα έργα μας είναι πλήρως δημόσια (όλοι έχουν πρόσβαση ανάγνωσης). Τα πακέτα του GitHub με πληρωμή περιλαμβάνουν έναν ορισμένο αριθμό ιδιωτικών έργων, αλλά δεν θα τα καλύψουμε σε αυτό το βιβλίο. |
Κάνοντας κλικ στο λογότυπο Octocat στην επάνω αριστερή γωνία της οθόνης, θα μεταβούμε στη σελίδα του πίνακα ελέγχου. Είμαστε πλέον έτοιμοι να χρησιμοποιήσουμε το GitHub.
Πρόσβαση με SSH
Ήδη μπορούμε να συνδεθούμε πλήρως με αποθετήρια Git χρησιμοποιώντας το πρωτόκολλο https://
, και να ταυτοποιηθούμε με το όνομα χρήστη και τον κωδικό πρόσβασης που μόλις δημιουργήσαμε.
Πάντως, αν θέλουμε μόνον να κλωνοποιήσουμε δημόσια έργα, δεν χρειάζεται καν να συνδεθούμε —ο λογαριασμός που μόλις δημιουργήσαμε θα χρειαστεί όταν αποσχίσουμε κάποιο έργο και ωθήσουμε στις διχάλες μας αργότερα.
Εάν θέλουμε να χρησιμοποιήσουμε απομακρυσμένα αποθετήρια μέσω SSH, θα πρέπει να δημιουργήσουμε ένα δημόσιο κλειδί. (Εάν δεν έχουμε ήδη ένα, ανατρέχουμε στην ενότητα Δημιουργία δημόσιου κλειδιού SSH.) Ανοίγουμε τις ρυθμίσεις του λογαριασμού μας χρησιμοποιώντας το σύνδεσμο “Account settings” που βρίσκεται στην επάνω δεξιά γωνία του παραθύρου:

Στη συνέχεια, επιλέγουμε την ενότητα “SSH keys” στην αριστερή πλευρά.

Από εκεί, κάνουμε κλικ στο κουμπί “Add an SSH key”, δίνουμε στο κλειδί μας ένα όνομα, επικολλούμε τα περιεχόμενα του αρχείου δημόσιου κλειδιού (~/.ssh/id_rsa.pub
ή όπως αλλιώς το έχουμε ονομάσει) και κάνουμε κλικ στο κουμπί “Add key”.
Note
|
Είναι σημαντικό να ονομάζουμε το κλειδί SSH με ένα όνομα που μπορούμε να θυμηθούμε. Μπορούμε να ονομάσουμε καθένα από τα κλειδιά μας (π.χ. “My Laptop” ή “Work Account”), έτσι ώστε αν χρειαστεί να ανακαλέσουμε ένα κλειδί αργότερα, να μπορούμε εύκολα να πούμε ποιο αναζητούμε. |
Το avatar
Στη συνέχεια, αν το επιθυμούμε, μπορούμε να αντικαταστήσουμε το avatar που δημιουργήθηκε για εμάς με μια εικόνα της επιλογής μας. Πρώτα πηγαίνουμε στην καρτέλα “Profile” (πάνω από την καρτέλα “SSH Keys”) και κάνουμε κλικ στο “Upload new picture”.

Θα επιλέξουμε ένα αντίγραφο του λογότυπου Git που βρίσκεται στο σκληρό δίσκο μας και στη συνέχεια θα έχουμε την ευκαιρία να τον περικόψουμε.

Τώρα οπουδήποτε αλληλεπιδράμε στον ιστότοπο, οι χρήστες θα βλέπουν το avatar μας δίπλα στο όνομα χρήστη μας.
Αν τυχαίνει να έχουμε ανεβάσει ένα avatar στη δημοφιλή υπηρεσία Gravatar (που χρησιμοποιείται συχνά για λογαριασμούς Wordpress), αυτό το avatar θα χρησιμοποιηθεί εκ προεπιλογής και δεν χρειάζεται να κάνουμε αυτό το βήμα.
Οι διευθύνσεις μας e-mail
Ο τρόπος με τον οποίο το GitHub αντιστοιχίζει τις υποβολές μας στον χρήστη που είμαστε είναι μέσω διεύθυνσης e-mail μας. Εάν χρησιμοποιούμε πολλές διευθύνσεις e-mail στις υποβολές μας και θέλουμε το GitHub να τις συνδέσει σωστά, θα πρέπει να προσθέσουμε όλες τις διευθύνσεις e-mail που έχουμε χρησιμοποιήσει στην ενότητα Emails της ενότητας admin.

Στην εικόνα Προσθήκη διευθύνσεων e-mail μπορούμε να δούμε κάποιες από τις διαφορετικές δυνατές καταστάσεις. Η επάνω διεύθυνση έχει επαληθευτεί και ορίζεται ως η κύρια διεύθυνση, που σημαίνει ότι σε αυτήν θα λαμβάνουμε ειδοποιήσεις και αποδείξεις. Η δεύτερη διεύθυνση έχει επαληθευτεί και έτσι μπορεί να οριστεί ως η κύρια διεύθυνση αν θέλουμε να την αλλάξουμε. Η τελική διεύθυνση δεν έχει επαληθευτεί, πράγμα που σημαίνει ότι δεν μπορούμε να την καταστήσουμε κύρια διεύθυνση μας. Πλέον, αν το GitHub βλέπει κάποια από αυτές στα μηνύματα υποβολών σε οποιοδήποτε αποθετήριο στον ιστότοπο, θα τη συνδέει με τον χρήστη ο οποίος είμαστε.
Ταυτοποίηση δύο παραγόντων
Τέλος, για επιπρόσθετη ασφάλεια, θα πρέπει σίγουρα να ορίσουμε ταυτοποίηση δύο παραγόντων (“Two-factor authentication”) ή “2FA”. Η ταυτοποίηση δύο παραγόντων είναι ένας μηχανισμός ταυτοποίησης που γίνεται ολοένα και πιο δημοφιλής και μετριάζει τον κίνδυνο να εκτεθεί ο λογαριασμός μας, αν κάποιος καταφέρει και κλέψει τον κωδικό πρόσβασής μας. Αν την ενεργοποιήσουμε, το GitHub θα μας ζητήσει δύο διαφορετικές μεθόδους ταυτοποίησης, έτσι ώστε εάν κάποια από αυτές παραβιαστεί, ο εισβολέας δεν θα μπορέσει να αποκτήσει πρόσβαση στον λογαριασμό μας.
Μπορούμε να βρούμε τη ρύθμιση “Two-factor Authentication” στην καρτέλα “Security” των ρυθμίσεων του λογαριασμού μας.

Εφόσον κάνουμε κλικ στο κουμπί “Set up two-factor authentication”, θα μεταβούμε σε μια σελίδα διαμόρφωσης όπου μπορούμε να επιλέξουμε να χρησιμοποιήσουμε μια εφαρμογή τηλεφώνου για να δημιουργήσουμε τον δευτερεύοντα κωδικό μας (έναν “κωδικό πρόσβασης μίας χρήσης περιορισμένης χρονικής διάρκειας”) ή μπορούμε να ζητήσουμε από το GitHub να μας στέλνει έναν κωδικό μέσω SMS κάθε φορά που θέλουμε να συνδεθούμε.
Αφού επιλέξουμε τη μέθοδο που προτιμάμε και ακολουθήσουμε τις οδηγίες για τη ρύθμιση του 2FA, ο λογαριασμός μας θα είναι λίγο πιο ασφαλής και θα πρέπει να παράσχουμε έναν επιπρόσθετο κωδικό, πέραν του κωδικού πρόσβασής μας, κάθε φορά που συνδεόμαστε στο GitHub.