Skip to content

Commit 1a8b050

Browse files
committed
review the remaining file of book/05-distributed-git module
1 parent f52a00d commit 1a8b050

File tree

3 files changed

+158
-158
lines changed

3 files changed

+158
-158
lines changed

book/05-distributed-git/sections/contributing.asc

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -491,7 +491,7 @@ image::images/managed-team-3.png[Ιστορικό της Τζέσικα μετά
491491

492492
Πολλές ομάδες τείνουν προς τη χρήση του Git εξαιτίας ακριβώς αυτής της δυνατότητας, να έχουν πολλές ομάδες που εργάζονται παράλληλα και να συγχωνεύουν τις διαφορετικές γραμμές εργασίας αργότερα.
493493
Η ικανότητα μικρότερων υποομάδων μιας ομάδας να συνεργάζονται μέσω απομακρυσμένων κλάδων χωρίς να χρειάζεται απαραίτητα να εμπλέξουν ή να φρενάρουν ολόκληρη την ομάδα είναι ένα τεράστιο όφελος που παρέχει το Git.
494-
Η ακολουθία της ροής εργασίας που είδατε εδώ είναι κάτι σαν αυτό:
494+
Η ακολουθία της ροής εργασίας που είδαμε εδώ είναι κάτι σαν αυτό:
495495

496496
.Βασική ακολουθία αυτής της ροής εργασίας διαχειριζόμενη ομάδα
497497
image::images/managed-team-flow.png[Βασική ακολουθία αυτής της ροής εργασίας διαχειριζόμενη ομάδα]
@@ -575,7 +575,7 @@ Jessica Smith (2):
575575

576576
Σε ένα έργο στο οποίο δεν είμαστε ο συντηρητής, είναι γενικά ευκολότερο να έχουμε έναν κλάδο όπως ο `master` να παρακολουθεί πάντα τον `origin/master` και να δουλεύουμε σε θεματικούς κλάδους τους οποίους μπορούμε εύκολα να διαγράψουμε αν απορριφθούν.
577577
Η διατήρηση ξεχωριστών θεματικών κλάδων για διαφορετικά θέματα διευκολύνει επίσης την αλλαγή βάσης της εργασίας μας, αν η άκρη του κύριου αποθετηρίου έχει μετακινηθεί εν τω μεταξύ και οι υποβολές μας δεν εφαρμόζονται πλέον με καθαρό τρόπο.
578-
Για παράδειγμα, εάν θέλουμε να δημιουργήσουμε ένα δεύτερο θέμα εργασίας στο έργο, καλό είναι να μην συνεχίζετε να εργαζόμαστε στον κλάδο του θέματος το οποίο μόλις ωθήσατε, αλλά να ξεκινήσουμε από τον κλάδο `master` του αποθετηρίου:
578+
Για παράδειγμα, εάν θέλουμε να δημιουργήσουμε ένα δεύτερο θέμα εργασίας στο έργο, καλό είναι να μην συνεχίζουμε να εργαζόμαστε στον κλάδο του θέματος το οποίο μόλις ωθήσαμε, αλλά να ξεκινήσουμε από τον κλάδο `master` του αποθετηρίου:
579579

580580
[source,console]
581581
----

book/05-distributed-git/sections/distributed-workflows.asc

Lines changed: 17 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -1,11 +1,11 @@
11
=== Κατανεμημένες ροές εργασίας
22

33
(((ροές εργασίας)))
4-
Σε αντίθεση με τα Συγκεντρωτικά Συστήματα Ελέγχου Έκδοσεων (CVCS), η κατανεμημένη φύση του Git σάς επιτρέπει να είστε πολύ πιο ευέλικτοι όσον αφορά στη συνεργασία των προγραμματιστών στο πλαίσιο ενός έργου.
4+
Σε αντίθεση με τα Συγκεντρωτικά Συστήματα Ελέγχου Έκδοσεων (CVCS), η κατανεμημένη φύση του Git μας επιτρέπει να είμαστε πολύ πιο ευέλικτοι όσον αφορά στη συνεργασία των προγραμματιστών στο πλαίσιο ενός έργου.
55
Στα συγκεντρωτικά συστήματα κάθε προγραμματιστής είναι ένας κόμβος που συνεργάζεται λίγο πολύ εξίσου με έναν κεντρικό κόμβο (hub).
66
Ωστόσο, στο Git, κάθε προγραμματιστής είναι δυνητικά τόσο κόμβος όσο και κεντρικό σημείο -- δηλαδή, κάθε προγραμματιστής μπορεί να συνεισφέρει κώδικα σε άλλα αποθετήρια και να διαχειρίζεται ένα δημόσιο αποθετήριο στο οποίο άλλοι μπορούν να βασίσουν τη δική τους εργασία και στο οποίο μπορούν να συνεισφέρουν.
7-
Αυτό παρέχει ένα ευρύ φάσμα δυνατοτήτων όσον αφορά στις ροές εργασίας για το έργο σας ή/και την ομάδα σας· θα καλύψουμε μερικά συνηθισμένα μοντέλα που εκμεταλλεύονται αυτή την ευελιξία.
8-
Θα αναλύσουμε τα δυνατά σημεία αλλά και τις ενδεχόμενες αδυναμίες κάθε μοντέλου· μπορείτε να επιλέξετε μόνον ένα από αυτά ή να δανειστείτε λειτουργικότητες από περισσότερα και να τις ταιριάξετε.
7+
Αυτό παρέχει ένα ευρύ φάσμα δυνατοτήτων όσον αφορά στις ροές εργασίας για το έργο μας ή/και την ομάδα μας· θα καλύψουμε μερικά συνηθισμένα μοντέλα που εκμεταλλεύονται αυτή την ευελιξία.
8+
Θα αναλύσουμε τα δυνατά σημεία αλλά και τις ενδεχόμενες αδυναμίες κάθε μοντέλου· μπορούμε να επιλέξουμε μόνον ένα από αυτά ή να δανειστούμε λειτουργικότητες από περισσότερα και να τις ταιριάξουμε.
99

1010
==== Συγκεντρωτική ροή εργασίας
1111

@@ -14,15 +14,15 @@
1414
Μόνο ένας κεντρικός κόμβος ή _αποθετήριο_ μπορεί να δεχθεί κώδικα και όλοι συγχρονίζουν το έργασία τους με αυτόν.
1515
Οι προγραμματιστές είναι περιφερειακοί κόμβοι -- καταναλωτές αυτού του κεντρικού κόμβου -- και συγχρονίζονται με αυτή την κεντρική τοποθεσία.
1616

17-
.Συγκεντρωτική ροή εργασίας.
17+
.Συγκεντρωτική ροή εργασίας
1818
image::images/centralized_workflow.png[Συγκεντρωτική ροή εργασίας]
1919

2020
Αυτό σημαίνει ότι εάν δύο προγραμματιστές κλωνοποιήσουν από τον κεντρικό κόμβο και κάνουν αλλαγές και οι δύο, ο πρώτος προγραμματιστής που θα ωθήσει τις αλλαγές τους μπορεί να το κάνει χωρίς προβλήματα.
2121
Ο δεύτερος προγραμματιστής πρέπει να συγχωνεύσει την εργασία του πρώτου πριν ωθήσει τις δικές του αλλαγές, ώστε να μην αντικαταστήσει τις αλλαγές του πρώτου προγραμματιστή.
22-
Αυτό ισχύει ισχύει και στο Git όπως και στο Subversion (((Subversion))) (ή οποιοδήποτε CVCS) και αυτό το μοντέλο λειτουργεί απολύτως καλά και στο Git.
22+
Αυτό ισχύει και στο Git όπως και στο Subversion (((Subversion))) (ή οποιοδήποτε CVCS) και αυτό το μοντέλο λειτουργεί απολύτως καλά και στο Git.
2323

24-
Εάν είστε ήδη εξοικειωμένοι με μια συγκεντρωτική κεντρική ροή εργασίας στην εταιρεία ή την ομάδα σας, μπορείτε εύκολα να συνεχίσετε να χρησιμοποιείτε αυτή τη ροή εργασίας με το Git.
25-
Απλά δημιουργείτε ένα μοναδικό αποθετήριο και δίνετε σε όλα τα μέλη της ομάδας σας δικαίωμα ώθησης (push access)· το Git δεν επιτρέπει στους χρήστες να επανεγγράψουν ο ένας τη δουλειά του άλλου.
24+
Εάν είμαστε ήδη εξοικειωμένοι με μια συγκεντρωτική κεντρική ροή εργασίας στην εταιρεία ή την ομάδα μας, μπορούμε εύκολα να συνεχίσουμε να χρησιμοποούμε αυτή τη ροή εργασίας με το Git.
25+
Απλά δημιουργούμε ένα μοναδικό αποθετήριο και δίνουμε σε όλα τα μέλη της ομάδας μας δικαίωμα ώθησης (push access)· το Git δεν επιτρέπει στους χρήστες να επανεγγράψουν ο ένας τη δουλειά του άλλου.
2626

2727
Ας υποθέσουμε ότι ο Τζον και η Τζέσικα αρχίζουν να εργάζονται την ίδια στιγμή.
2828
Ο Τζον ολοκληρώνει την αλλαγή του και την ωθεί στον διακομιστή.
@@ -37,17 +37,17 @@ image::images/centralized_workflow.png[Συγκεντρωτική ροή εργ
3737
==== Ροή εργασίας με διαχειριστή ενσωμάτωσης (integration manager)
3838

3939
(((ροές εργασίας, διαχειριστής ενσωμάτωσης)))
40-
Επειδή το Git σάς επιτρέπει να έχετε πολλαπλά απομακρυσμένα αποθετήρια, είναι δυνατό να έχετε μια ροή εργασίας στην οποία κάθε προγραμματιστής έχει δικαίωμα εγγραφής στο δικό του δημόσιο αποθετήριο και δικαίωμα ανάγνωσης σε όλα τα άλλα αποθετήρια.
40+
Επειδή το Git μας επιτρέπει να έχουμε πολλαπλά απομακρυσμένα αποθετήρια, είναι δυνατό να έχουμε μια ροή εργασίας στην οποία κάθε προγραμματιστής έχει δικαίωμα εγγραφής στο δικό του δημόσιο αποθετήριο και δικαίωμα ανάγνωσης σε όλα τα άλλα αποθετήρια.
4141
Αυτό το σενάριο περιλαμβάνει συχνά ένα κανονικό (canonical) αποθετήριο που αντιπροσωπεύει το "`επίσημο`" έργο.
42-
Για να συνεισφέρετε σε αυτό το έργο, δημιουργείτε τον δικό σας δημόσιο κλώνο του έργου και ωθείτε τις αλλαγές σας σε αυτόν.
43-
Στη συνέχεια, μπορείτε να στείλετε ένα αίτημα στον διαχειριστή του κύριου έργου να τραβήξει τις αλλαγές σας.
44-
Τότε ο διαχειριστής μπορεί να προσθέσει το αποθετήριό σας ως απομακρυσμένο, να δοκιμάσει τις αλλαγές σας τοπικά, να τις συγχωνεύσει στον κλάδο του και να τις ωθήσει στο αποθετήριό του.
42+
Για να συνεισφέρουμε σε αυτό το έργο, δημιουργούμε τον δικό μας δημόσιο κλώνο του έργου και ωθούμε τις αλλαγές μας σε αυτόν.
43+
Στη συνέχεια, μπορούμε να στείλουμε ένα αίτημα στον διαχειριστή του κύριου έργου να τραβήξει τις αλλαγές μας.
44+
Τότε ο διαχειριστής μπορεί να προσθέσει το αποθετήριό μας ως απομακρυσμένο, να δοκιμάσει τις αλλαγές μας τοπικά, να τις συγχωνεύσει στον κλάδο του και να τις ωθήσει στο αποθετήριό του.
4545
Η διαδικασία λειτουργεί ως εξής (βλ. <<rwfdiag_b>>):
4646

4747
1. Ο διαχειριστής του έργου ωθεί στο δημόσιο αποθετήριό του.
4848
2. Ένας συνεργάτης κλωνοποιεί αυτό το αποθετήριο και κάνει αλλαγές.
4949
3. Ο συνεργάτης ωθεί στο δικό του δημόσιο αντίγραφο.
50-
4. Ο συνεργάτης αποστέλλει στον διαχειριστή ένα e-mail ζητώντας του να κάνει αλλαγές.
50+
4. Ο συνεργάτης αποστέλλει στον διαχειριστή ένα e-mail ζητώντας του να τραβήξει τις αλλαγές.
5151
5. Ο διαχειριστής προσθέτει το αποθετήριο του συνεργάτη ως απομακρυσμένο και συγχωνεύει τοπικά.
5252
6. Ο διαχειριστής ωθεί τις συγχωνευμένες αλλαγές στο κύριο αποθετήριο.
5353

@@ -56,8 +56,8 @@ image::images/centralized_workflow.png[Συγκεντρωτική ροή εργ
5656
image::images/integration-manager.png[Ροή εργασίας με διαχειριστη ενσωμάτωσης]
5757

5858
(((απόσχιση)))
59-
Αυτή είναι μια πολύ συνηθισμένη ροή εργασίας με εργαλεία όπως το GitHub ή το GitLab, που βασίζονται σε κεντρικούς κόμβους και στην οποία είναι εύκολο να κλωνοποιήσετε ένα έργο και να ωθήσετε τις αλλαγές σας στον δικό σας κλώνο, όπου μπορούν να τις δουν όλοι.
60-
Ένα από τα κύρια πλεονεκτήματα αυτής της προσέγγισης είναι ότι μπορείτε να συνεχίσετε να εργάζεστε και ο διαχειριστής του κύριου αποθετηρίου μπορεί να τραβήξει τις αλλαγές σας όποτε θέλει.
59+
Αυτή είναι μια πολύ συνηθισμένη ροή εργασίας με εργαλεία όπως το GitHub ή το GitLab, που βασίζονται σε κεντρικούς κόμβους και στην οποία είναι εύκολο να κλωνοποιήσουμε ένα έργο και να ωθήσουμε τις αλλαγές μας στον δικό μας κλώνο, όπου μπορούν να τις δουν όλοι.
60+
Ένα από τα κύρια πλεονεκτήματα αυτής της προσέγγισης είναι ότι μπορούμε να συνεχίσουμε να εργαζόμαστε και ο διαχειριστής του κύριου αποθετηρίου μπορεί να τραβήξει τις αλλαγές μας όποτε θέλει.
6161
Οι συνεργάτες δεν χρειάζεται να περιμένουν το έργο να ενσωματώσει τις αλλαγές τους -- ο καθένας μπορεί να εργαστεί με τον δικό του ρυθμό.
6262

6363
==== Ροή εργασίας δικτάτορα και υπαρχηγών
@@ -72,7 +72,7 @@ image::images/integration-manager.png[Ροή εργασίας με διαχει
7272

7373
1. Οι απλοί προγραμματιστές ασχολούνται με τον θεματικό κλάδο τους και επανατοποθετούν (rebase) την εργασία τους στον κλάδο `master`.
7474
Ο κλάδος `master` ανήκει στο αποθετήριο αναφοράς στο οποίο ωθεί ο δικτάτορας.
75-
2. Οι υπαρχηγοί συγχωνεύουν τους κλάδους των προγραμματιστών ο καθένας στον δικό του στον κλάδο `master`.
75+
2. Οι υπαρχηγοί συγχωνεύουν τους κλάδους των προγραμματιστών ο καθένας στον δικό τους κλάδο `master`.
7676
3. Ο δικτάτορας συγχωνεύει τους κλάδους `master` των υπαρχηγών στον κλάδο `master` του δικτάτορα.
7777
4. Ο δικτάτορας ωθεί τον δικό του κλάδο `master` στο αποθετήριο αναφοράς, έτσι ώστε οι άλλοι προγραμματιστές να μπορέσουν να επανατοποθετηθούν σε αυτόν.
7878

@@ -97,6 +97,6 @@ https://martinfowler.com/articles/branching-patterns.html[^]
9797

9898
==== Περίληψη ροών εργασίας
9999

100-
Αυτές είναι μερικές συνήθεις ροές εργασίας που καθίστανται δυνατές με ένα κατανεμημένο σύστημα όπως το Git, αλλά βλέπετε ότι είναι δυνατές πολλές παραλλαγές οι οποίες ενδεχομένως ταιριάζουν περισσότερο στη δική σας ροή εργασίας.
100+
Αυτές είναι μερικές συνήθεις ροές εργασίας που καθίστανται δυνατές με ένα κατανεμημένο σύστημα όπως το Git, αλλά βλέπετε ότι είναι δυνατές πολλές παραλλαγές οι οποίες ενδεχομένως ταιριάζουν περισσότερο στη δική μας ροή εργασίας.
101101
Τώρα που μπορείτε (όπως ελπίζουμε) να προσδιορίσετε ποιος συνδυασμός ροών εργασίας σας βολεύει, θα καλύψουμε μερικά πιο συγκεκριμένα παραδείγματα για το πώς να επιτύχετε τους κύριους ρόλους που συνθέτουν τις διαφορετικές ροές.
102-
Στην επόμενη ενότητα, θα μάθετε μερικά κοινά μοτίβα συνεισφοράς σε ένα έργο.
102+
Στην επόμενη ενότητα, θα μάθουμε μερικά κοινά μοτίβα συνεισφοράς σε ένα έργο.

0 commit comments

Comments
 (0)