Skip to content

Commit 58bf05e

Browse files
authored
Update protocols.asc
1 parent c950772 commit 58bf05e

File tree

1 file changed

+14
-14
lines changed

1 file changed

+14
-14
lines changed

book/04-git-server/sections/protocols.asc

Lines changed: 14 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -3,10 +3,10 @@
33
Το Git μπορεί να χρησιμοποιήσει τέσσερα συνηθισμένα πρωτόκολλα για την μεταφορά δεδομένων: Local, HTTP, Secure Shell (SSH) και Git.
44
Θα συζητήσουμε τι είναι αυτά και σε ποιες βασικές περιστάσεις θα θέλαμε (ή δεν θα θέλαμε) να τα χρησιμοποιήσουμε.
55

6-
==== Τοπικό πρωτόκολλο
6+
==== Το τοπικό πρωτόκολλο
77

88
(((protocols, local)))
9-
Το πιο βασικό είναι το _τοπικό πρωτόκολλο_ (_local_protocol_), στο οποίο το απομακρυσμένο αποθετήριο βρίσκεται σε άλλο κατάλογο στον δίσκο.
9+
Το πιο βασικό είναι το _τοπικό πρωτόκολλο_ (_local protocol_), στο οποίο το απομακρυσμένο αποθετήριο βρίσκεται σε άλλο κατάλογο στον δίσκο.
1010
Αυτό χρησιμοποιείται συχνά εάν όλοι στην ομάδα μας έχουν πρόσβαση σε ένα κοινό σύστημα αρχείων (filesystem), όπως μία προσάρτηση NFS (NFS mount) ή στην λιγότερο πιθανή περίπτωση που όλοι οι χρήστες συνδέονται στον ίδιο υπολογιστή.
1111
Η τελευταία περίπτωση δεν θα ήταν ιδανική, διότι όλες οι περιπτώσεις κώδικα του αποθετηρίου θα κατοικούσαν στον ίδιο υπολογιστή, καθιστώντας πολύ πιο πιθανή μια καταστροφική απώλεια.
1212

@@ -19,7 +19,7 @@
1919
$ git clone /opt/git/project.git
2020
----
2121

22-
Ή μπορείτε να το κάνετε αυτό:
22+
Ή μπορούμε να κάνουμε αυτό:
2323

2424
[source,console]
2525
----
@@ -28,7 +28,7 @@ $ git clone file:///opt/git/project.git
2828

2929
Το Git λειτουργεί ελαφρώς διαφορετικά αν καθορίσουμε ρητά το `file://` στην αρχή της διεύθυνσης URL.
3030
Αν καθορίσουμε ακριβώς την διαδρομή, το Git προσπαθεί να χρησιμοποιήσει σκληρούς συνδέσμους (hardlinks) ή να αντιγράψει απευθείας τα αρχεία που χρειάζονται.
31-
Εάν καθορίσουμε το `file://`, το Git ενεργοποιεί τις διαδικασίες που συνήθως χρησιμοποιεί για την μεταφορά δεδομένων μέσω δικτύου, μία μέθοδο μεταφοράς των δεδομένων γενικά πολύ λιγότερο αποτελεσματική.
31+
Εάν καθορίσουμε το `file://`, το Git ενεργοποιεί τις διαδικασίες που συνήθως χρησιμοποιεί για τη μεταφορά δεδομένων μέσω δικτύου, μία μέθοδο μεταφοράς των δεδομένων γενικά πολύ λιγότερο αποτελεσματική.
3232
Ο βασικός λόγος που θα θέλαμε να χρησιμοποιήσουμε το `file://` είναι η περίπτωση κατά την οποία θέλουμε ένα καθαρό αντίγραφο του αποθετηρίου με εξωτερικές αναφορές ή αντικείμενα που απομένουν - συνήθως μετά από εισαγωγή από ένα άλλο σύστημα ελέγχου εκδόσεων ή κάτι παρόμοιο (βλ. <<_ git_internals>> για σχετικές εργασίες συντήρησης).
3333
Στη παρακάτω παράδειγμα θα χρησιμοποιήσουμε το μονοπάτι χωρίς το `file://` επειδή αυτό είναι σχεδόν πάντα πιο γρήγορο.
3434

@@ -45,7 +45,7 @@ $ git remote add local_proj /opt/git/project.git
4545

4646
Τα πλεονεκτήματα των αποθετηρίων που βασίζονται σε αρχεία είναι ότι είναι απλά και χρησιμοποιούν τα υπάρχοντα δικαιώματα σε αρχεία και πρόσβαση στο δίκτυο.
4747
Εάν έχουμε ήδη ένα κοινό σύστημα αρχείων στο οποίο έχει πρόσβαση ολόκληρη η ομάδα μας, η εγκατάσταση ενός αποθετηρίου είναι πολύ εύκολη.
48-
Μπορείτε να κολλήσετε ένα γυμνό (χωρίς αρχεία) αντίγραφο του αποθετηρίου κάπου όπου ο καθένας έχει πρόσβαση και να ορίσουμε τα δικαιώματα ανάγνωσης/εγγραφής όπως θα κάναμε για οποιονδήποτε άλλο κοινόχρηστο κατάλογο.
48+
Μπορούμε να κολλήσουμε ένα γυμνό (χωρίς αρχεία) αντίγραφο του αποθετηρίου κάπου όπου ο καθένας έχει πρόσβαση και να ορίσουμε τα δικαιώματα ανάγνωσης/εγγραφής όπως θα κάναμε για οποιονδήποτε άλλο κοινόχρηστο κατάλογο.
4949
Θα συζητήσουμε πώς μπορούμε να εξαγωγής ένα γυμνό αντίγραφο αποθετηρίου για αυτόν τον σκοπό αυτό στο <<_git_on_the_server>>.
5050

5151
Αυτή είναι επίσης μια καλή επιλογή για γρήγορη λήψη της εργασίας από το αποθετήριο εργασίας κάποιου άλλου.
@@ -75,7 +75,7 @@ $ git remote add local_proj /opt/git/project.git
7575
===== Έξυπνο HTTP
7676

7777
(((πρωτόκολλα, έξυπνο HTTP)))
78-
Το πρωτόκολλο ``έξυπνο'' HTTP έχει παρόμοια λειτουργία με τα πρωτόκολλα SSH ή Git αλλά τρέχει πάνω από τις τυπικές θύρες για HTTP/S και μπορεί να χρησιμοποιήσει διάφορους μηχανισμούς HTTP ελέγχου ταυτότητας, που σημαίνει ότι είναι συχνά πιο εύκολο για τον χρήστη από ό,τι είναι για παράδειγμα το SSH, αφού είναι δυνατό να χρησιμοποιηθεί βασικός έλεγχος ταυτότητας με όνομα χρήστη/κωδικό πρόσβασης, αντί να χρειάζεται να ρυθμίσετε τα κλειδιά SSH.
78+
Το πρωτόκολλο ``έξυπνο'' HTTP έχει παρόμοια λειτουργία με τα πρωτόκολλα SSH ή Git αλλά τρέχει πάνω από τις τυπικές θύρες για HTTP/S και μπορεί να χρησιμοποιήσει διάφορους μηχανισμούς HTTP ελέγχου ταυτότητας, που σημαίνει ότι είναι συχνά πιο εύκολο για τον χρήστη από ό,τι είναι για παράδειγμα το SSH, αφού είναι δυνατό να χρησιμοποιηθεί βασικός έλεγχος ταυτότητας με όνομα χρήστη/κωδικό πρόσβασης, αντί να χρειάζεται να ρυθμίσουμε τα κλειδιά SSH.
7979

8080
Αυτός φαίνεται ότι είναι πλέον ο πιο δημοφιλής τρόπος χρήσης του Git, αφού μπορεί να ρυθμιστεί τόσο για να ανώνυμο τράβηγμα όπως το πρωτόκολλο `git://` όσο και προώθηση με έλεγχο ταυτότητας και κρυπτογράφηση όπως το πρωτόκολλο SSH.
8181
Αντί να χρειάζεται να ορίσουμε διαφορετικές διευθύνσεις URL για αυτά τα δύο πράγματα, μπορούμε πλέον να χρησιμοποιήσουμε μια ενιαία διεύθυνση URL και για τα δύο.
@@ -113,7 +113,7 @@ $ chmod a+x hooks/post-update
113113
$ git clone https://example.com/gitproject.git
114114
----
115115

116-
Στη συγκεκριμένη περίπτωση, χρησιμοποιούμε τη διαδρομή `/var/www/htdocs` που είναι κοινή για διακομιστές Apache, αλλά μπορείτε να χρησιμοποιήσετε οποιονδήποτε στατικό διακομιστή ιστού απλά τοποθετούμε το γυμνό αποθετήριο στην διαδρομή του.
116+
Στη συγκεκριμένη περίπτωση, χρησιμοποιούμε τη διαδρομή `/var/www/htdocs` που είναι κοινή για διακομιστές Apache, αλλά μπορούμε να χρησιμοποιήσουμε οποιονδήποτε στατικό διακομιστή ιστού --απλά τοποθετούμε το γυμνό αποθετήριο στη διαδρομή του.
117117
Τα δεδομένα Git διακομίζονται ως απλά στατικά αρχεία (βλ. <<_git_internals>> για λεπτομέρειες σχετικά με τον τρόπο με τον οποίο εξυπηρετείται).
118118

119119
Σε γενικές γραμμές, επιλέγουμε είτε να τρέξουμε έναν διακομιστή με έξυπνο HTTP για ανάγνωση/εγγραφή είτε απλά να έχουμε πρόσβαση στα αρχεία για ανάγκνωση μόνο με τον χαζό τρόπο.
@@ -139,7 +139,7 @@ $ git clone https://example.com/gitproject.git
139139

140140
Αν χρησιμοποιούμε HTTP για την ταυτοποίηση προώθησης, η παροχή των διαπιστευτηρίων είναι κάποιες φορές πιο πολύπλοκη από την χρήση κλειδιών μέσω SSH.
141141
Ωστόσο, υπάρχουν αρκετά εργαλεία προσωρινής αποθήκευσης διαπιστευτηρίων που μπορούμε να χρησιμοποιήσουμε, συμπεριλαμβανομένης της πρόσβασης μέσω Keychain στο OS X και του Credential Manager στα Windows, που καθιστούν την διαδικασία ταυτοποίησης αρκετά ανώδυνη.
142-
Διαβάστε την ενότητα <<_credential_caching>> για να δείτε πώς μπορείτε να ρυθμίσετε ασφαλή προσωρινή αποθήκευση κωδικού πρόσβασης HTTP στο σύστημά σας.
142+
Στην ενότητα <<_credential_caching>> μπορούμε να δούμε πώς μπορούμε να ρυθμίσουμε ασφαλή προσωρινή αποθήκευση κωδικού πρόσβασης HTTP στο σύστημά μας.
143143

144144
==== Το πρωτόκολλο SSH
145145

@@ -150,21 +150,21 @@ $ git clone https://example.com/gitproject.git
150150

151151
To clone a Git repository over SSH, you can specify ssh:// URL like this:
152152

153-
Για να κλωνοποιήσετε ένα αποθετήριο Git πάνω από SSH, μπορείτε να ορίσετε το URL `ssh://` ως εξής:
153+
Για να κλωνοποιήσουμε ένα αποθετήριο Git πάνω από SSH, μπορούμε να ορίσουμε το URL `ssh://` ως εξής:
154154

155155
[source,console]
156156
----
157157
$ git clone ssh://user@server/project.git
158158
----
159159

160-
Ή μπορείτε να χρησιμοποιήσετε τη συντομότερη σύνταξη τύπου scp για το πρωτόκολλο SSH:
160+
Ή μπορούμε να χρησιμοποιήσουμε τη συντομότερη σύνταξη τύπου scp για το πρωτόκολλο SSH:
161161

162162
[source,console]
163163
----
164164
$ git clone user@server:project.git
165165
----
166166

167-
Επίσης, είναι δυνατό να μην ορίσετε κάποιον χρήστη, οπότε το Git θεωρεί ότι είστε ο ίδιος χρήστης με τον χρήστη του συστήματός σας.
167+
Επίσης, είναι δυνατό να μην ορίσουμε κάποιον χρήστη, οπότε το Git θεωρεί ότι είμαστε ο ίδιος χρήστης με τον χρήστη του συστήματός μας.
168168

169169
===== Τα υπέρ
170170

@@ -187,7 +187,7 @@ $ git clone user@server:project.git
187187
Για να διαθέσουμε ένα αποθετήριο πάνω από το πρωτόκολλο Git, πρέπει να δημιουργήσουμε το αρχείο `git-daemon-export-ok` – ο δαίμονας δεν θα διαθέτει το αποθετήριο αν δεν έχει αυτό το αρχείο – αλλά πέρα από αυτό δεν υπάρχει καμία ασφάλεια.
188188
Είτε το αποθετήριο Git είναι διαθέσιμο σε όλους να το κλωνοποιήσουν είτε σε κανέναν.
189189
Αυτό σημαίνει ότι γενικά δεν γίνεται προώθηση πάνω από αυτό το πρωτόκολλο.
190-
Μπορούμε να ενεργοποιήσουμε την πρόσβαση προώθησης· αλλά δεδομένης της έλλειψης ταυτοποίησης, αν ενεργοποιήσουμε την πρόσβαση προώθησης, οποιοσδήποτε βρίσκει το URL του έργου σας στο Internet, θα μπορεί να προωθήσει στο έργο σας.
190+
Μπορούμε να ενεργοποιήσουμε την πρόσβαση προώθησης· αλλά δεδομένης της έλλειψης ταυτοποίησης, αν ενεργοποιήσουμε την πρόσβαση προώθησης, οποιοσδήποτε βρίσκει το URL του έργου μας στο Internet, θα μπορεί να προωθήσει στο έργο μας.
191191
Είναι προφανές ότι αυτή η συμπεριφορά είναι σπάνια επιθυμητή.
192192

193193
===== Τα υπέρ
@@ -203,6 +203,6 @@ $ git clone user@server:project.git
203203
Γενικά, πρέπει να το συνδυάζουμε με πρόσβαση SSH ή HTTPS για τους λίγους προγραμματιστές που έχουν πρόσβαση προώθησης (εγγραφής) και οι υπόλοιποι προγραμματιστές θα χρησιμοποιούν το `git://' για πρόσβαση μόνο για ανάγνωση.
204204
Επίσης είναι πιθανότατα το πιο δύσκολο πρωτόκολλο από πλευράς ρύθμισης.
205205
Πρέπει να τρέχει το δικό του δαίμονα, που απαιτεί ρύθμιση `xinetd` ή κάτι παρόμοιο, το οποίο δεν είναι πάντα απλό να γίνει.
206-
Απαιτεί επίσης πρόσβαση στην θύρα 9418 του τείχους προστασίας, θύρα που δεν είναι από τις τυποποιημένες θύρες που επιτρέπουν τα firewalls εταιρικών δικτύων.
207-
XXX Πίσω από τα μεγάλα εταιρικά τείχη προστασίας, αυτή η XXX obscure θύρα είναι συνήθως μπλοκαρισμένη.
206+
Απαιτεί επίσης πρόσβαση στην θύρα 9418 του τείχους προστασίας, θύρα που δεν είναι από τις τυποποιημένες θύρες που επιτρέπουν τα τείχη προστασίας εταιρικών δικτύων.
207+
Πίσω από τα τείχη προστασίας μεγάλων εταιριών, αυτή η ασυνήθιστη θύρα είναι συνήθως μπλοκαρισμένη.
208208

0 commit comments

Comments
 (0)