Skip to content

Commit 2f9e739

Browse files
authored
Merge pull request #51 from progit2-gr/cs/em-dash-2
Changed -- to em-dash, where applicable.
2 parents 46cbafd + 32088ba commit 2f9e739

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

52 files changed

+196
-194
lines changed

book/01-introduction/sections/about-version-control.asc

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,9 @@
55
Ο __έλεγχος εκδόσεων__ είναι ένα σύστημα το οποίο καταγράφει αλλαγές σε ένα αρχείο ή σε ένα σύνολο αρχείων έτσι ώστε να μπορούμε να ανακαλέσουμε συγκεκριμένες εκδόσεις.
66
Στα παραδείγματα του βιβλίου, τα αρχεία που θα χρησιμοποιήσουμε για έλεγχο εκδόσεων θα είναι αρχεία πηγαίου κώδικα λογισμικού αν και στην πραγματικότητα, θα μπορούσαμε να χρησιμοποιήσουμε αρχεία οποιουδήποτε τύπου.
77

8-
Αν είμαστε γραφίστες ή σχεδιαστές ιστοσελίδων και θέλουμε να κρατήσουμε κάθε έκδοση μιας εικόνας ή μιας διάταξης (κάτι το οποίο είναι πολύ πιθανό) τότε ένα Σύστημα Ελέγχου Εκδόσεων (Version Control System -- VCS) είναι μια πολύ σοφή επιλογή. Ένα τέτοιο σύστημα μάς επιτρέπει να επαναφέρουμε συγκεκριμένα αρχεία σε κάποια προγενέστερη κατάσταση, να επαναφέρουμε ακόμα και ολόκληρο έργο (project) σε προγενέστερη κατάσταση, να συγκρίνουμε αλλαγές με την πάροδο του χρόνου, να δούμε ποιος τροποποίησε τελευταίος κάτι που ενδεχομένως δημιουργεί κάποιο πρόβλημα, ποιος έθεσε ένα ζήτημα και άλλα πολλά. Η χρήση ενός συστήματος ελέγχου εκδόσεων σημαίνει επίσης ότι αν τα κάνουμε θάλασσα ή χάσουμε αρχεία, είναι εύκολο να τα ανακτήσουμε. Επιπλέον, όλες αυτές οι δυνατότητες προσφέρονται με πολύ μικρή επιβάρυνση.
8+
Αν είμαστε γραφίστες ή σχεδιαστές ιστοσελίδων και θέλουμε να κρατήσουμε κάθε έκδοση μιας εικόνας ή μιας διάταξης (κάτι το οποίο είναι πολύ πιθανό) τότε ένα Σύστημα Ελέγχου Εκδόσεων (Version Control System --VCS) είναι μια πολύ σοφή επιλογή.
9+
Ένα τέτοιο σύστημα μάς επιτρέπει να επαναφέρουμε συγκεκριμένα αρχεία σε κάποια προγενέστερη κατάσταση, να επαναφέρουμε ακόμα και ολόκληρο έργο (project) σε προγενέστερη κατάσταση, να συγκρίνουμε αλλαγές με την πάροδο του χρόνου, να δούμε ποιος τροποποίησε τελευταίος κάτι που ενδεχομένως δημιουργεί κάποιο πρόβλημα, ποιος έθεσε ένα ζήτημα και άλλα πολλά.
10+
Η χρήση ενός συστήματος ελέγχου εκδόσεων σημαίνει επίσης ότι αν τα κάνουμε θάλασσα ή χάσουμε αρχεία, είναι εύκολο να τα ανακτήσουμε. Επιπλέον, όλες αυτές οι δυνατότητες προσφέρονται με πολύ μικρή επιβάρυνση.
911

1012
==== Τοπικά συστήματα ελέγχου εκδόσεων
1113

@@ -39,7 +41,7 @@ image::images/centralized.png[Συγκεντρωτικός έλεγχος εκδ
3941
Το πιο προφανές είναι το γεγονός ότι μια βλάβη στον κεντρικό διακομιστή προκαλεί την αποτυχία όλου του συστήματος.
4042
Αν ο διακομιστής πέσει για μία ώρα, τότε κατά τη διάρκεια αυτής της ώρας κανείς δεν μπορεί να συνεργαστεί ή να αποθηκεύσει αλλαγές στο σύστημα ελέγχου εκδόσεων.
4143
Αν για παράδειγμα ο σκληρός δίσκος πάνω στον οποίο βρίσκεται η κεντρική βάση δεδομένων καταστραφεί και δεν έχουν κρατηθεί τα απαραίτητα αντίγραφα ασφαλείας τότε χάνονται τα πάντα. Ολόκληρο το ιστορικό του έργου χάνεται εκτός από στιγμιότυπα του έργου που μπορεί να έχουν κρατήσει στους υπολογιστές τους κάποιοι προγραμματιστές.
42-
Τα τοπικά συστήματα ελέγχου εκδόσεων πάσχουν από το ίδιο πρόβλημα -- όταν το ιστορικό ενός έργου βρίσκεται σε ένα και μοναδικό μέρος τότε υπάρχει ο κίνδυνος να χαθούν τα πάντα.
44+
Τα τοπικά συστήματα ελέγχου εκδόσεων πάσχουν από το ίδιο πρόβλημα όταν το ιστορικό ενός έργου βρίσκεται σε ένα και μοναδικό μέρος τότε υπάρχει ο κίνδυνος να χαθούν τα πάντα.
4345

4446
==== Κατανεμημένα συστήματα ελέγχου εκδόσεων
4547

book/01-introduction/sections/basics.asc

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -34,13 +34,13 @@ image::images/snapshots.png[Το Git αποθηκεύει τα δεδομένα
3434
Αν είμαστε συνηθισμένοι σε ένα συγκεντρωτικό σύστημα ελέγχου εκδόσεων όπου οι περισσότερες λειτουργίες έχουν καθυστέρηση εξαιτίας του δικτύου, τότε αυτή η πλευρά του Git θα μας κάνει να νομίζουμε ότι οι θεοί της ταχύτητας ευλόγησαν το Git με υπερκόσμιες δυνάμεις.
3535
Οι περισσότερες λειτουργίες στο Git φαίνονται σχεδόν στιγμιαίες, κυρίως λόγω του γεγονότος ότι το πλήρες ιστορικό του έργου βρίσκεται στον τοπικό δίσκο.
3636

37-
Για παράδειγμα, για να περιηγηθούμε στο ιστορικό του έργου μας, το Git δεν χρειάζεται να λάβει το ιστορικό από τον διακομιστή και να το εμφανίσει στον χρήστη -- χρειάζεται απλά να το διαβάσει από την τοπική βάση δεδομένων.
37+
Για παράδειγμα, για να περιηγηθούμε στο ιστορικό του έργου μας, το Git δεν χρειάζεται να λάβει το ιστορικό από τον διακομιστή και να το εμφανίσει στον χρήστη χρειάζεται απλά να το διαβάσει από την τοπική βάση δεδομένων.
3838
Αυτό σημαίνει ότι μπορούμε να δούμε το ιστορικό του έργου μας άμεσα.
3939
Αν θέλουμε να δούμε τις αλλαγές που εισήχθησαν ανάμεσα στην τρέχουσα έκδοση ενός αρχείου και στην έκδοσή τους πριν ένα μήνα, ένα σύστημα ελέγχου εκδόσεων μπορεί να ρωτήσει τον διακομιστή για τις διαφορές των δύο αρχείων ή να έλξει την παλιά έκδοση του αρχείου και να υπολογίσει τις διαφορές τοπικά. Αντί αυτού, το Git μπορεί επί τόπου τοπικά και να αναζητήσει το αρχείο ένα μήνα πριν και να κάνει τον υπολογισμό των διαφορών τους.
4040

4141
Αυτό επίσης σημαίνει ότι είναι πολύ λίγες οι λειτουργίες που δεν μπορούμε να κάνουμε όταν είμαστε εκτός δικτύου.
4242
Αν βρισκόμαστε σε ένα αεροπλάνο ή στο τρένο και θέλουμε να εργαστούμε, μπορούμε να υποβάλλουμε τις αλλαγές μας χωρίς πρόβλημα, και να τις μεταφορτώσουμε όταν επανέλθει η σύνδεση δικτύου.
43-
Αν είμαστε στο σπίτι και δεν μπορούμε να συνδεθούμε μέσω του πελάτη (client) του εικονικού τοπικού μας δικτύου (Virtual Private Network, VPN), μπορούμε ακόμα να εργαστούμε.
43+
Αν είμαστε στο σπίτι και δεν μπορούμε να συνδεθούμε μέσω του πελάτη (client) του εικονικού τοπικού μας δικτύου (Virtual Private NetworkVPN), μπορούμε ακόμα να εργαστούμε.
4444
Σε πολλά άλλα συστήματα, οι παραπάνω λειτουργίες είναι είτε αδύνατες είτε επίπονες.
4545
Στο Perforce, για παράδειγμα, πολλές λειτουργίες δεν είναι δυνατό να πραγματοποιηθούν, αν δεν υπάρχει σύνδεση με τον διακομιστή. Στο Subversion και στο CVS είναι δυνατό να γίνει επεξεργασία των αρχείων, αλλά δεν είναι δυνατό υποβληθούν οι αλλαγές στη βάση δεδομένων εφόσον βρίσκεται εκτός σύνδεσης.
4646
Τα παραπάνω μπορεί να μην φαίνονται πολύ σημαντικά, αλλά κάποιος που έχει δουλέψει με το Subversion ή το CVS ενδεχομένως θα εντυπωσιαστεί από το πόσο μεγάλη διαφορά μπορεί να κάνουν.

book/01-introduction/sections/command-line.asc

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@
33
Υπάρχουν πολλοί διαφορετικοί τρόποι με τους οποίους μπορεί κανείς να χρησιμοποιήσει το Git.
44
Υπάρχουν τα αρχικά εργαλεία στη γραμμή εντολών αλλά και διάφορα γραφικά εργαλεία με ποικίλες δυνατότητες.
55
Στο βιβλίο αυτό θα χρησιμοποιήσουμε το Git μέσα από την γραμμή εντολών.
6-
Καταρχάς, η γραμμή εντολών είναι το μόνο εργαλείο στο οποίο μπορεί κανείς να τρέξει *όλες* τις εντολές του Git -- για λόγους απλότητας τα περισσότερα από τα γραφικά εργαλεία υλοποιούν μόνο ένα υποσύνολο των λειτουργιών του Git.
6+
Καταρχάς, η γραμμή εντολών είναι το μόνο εργαλείο στο οποίο μπορεί κανείς να τρέξει *όλες* τις εντολές του Git για λόγους απλότητας τα περισσότερα από τα γραφικά εργαλεία υλοποιούν μόνο ένα υποσύνολο των λειτουργιών του Git.
77
Αν γνωρίζουμε πώς να χρησιμοποιούμε το Git από την γραμμή εντολών, τότε θα μπορέσουμε να καταλάβουμε και πώς να χρησιμοποιήσουμε τα γραφικά εργαλεία. Όμως το αντίστροφο δεν ισχύει πάντα.
88
Επίσης, ενώ η επιλογή ενός γραφικού προγράμματος είναι θέμα προσωπικού γούστου, _όλοι_ οι χρήστες θα έχουν τα εργαλεία γραμμής εντολών εγκατεστημένα και διαθέσιμα.
99

book/02-git-basics/sections/getting-a-repository.asc

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -34,7 +34,7 @@ $ git commit -m 'initial project version'
3434
[[r_git_cloning]]
3535
==== Κλωνοποιώντας ένα υπάρχον αποθετήριο
3636

37-
Αν θέλουμε να αποκτήσουμε ένα αντίγραφο ενός υπάρχοντος αποθετηρίου Git --για παράδειγμα, ένα έργο στο οποίο θα θέλαμε να συνεισφέρουμε-- η εντολή που χρειαζόμαστε είναι `git clone`.
37+
Αν θέλουμε να αποκτήσουμε ένα αντίγραφο ενός υπάρχοντος αποθετηρίου Git για παράδειγμα, ένα έργο στο οποίο θα θέλαμε να συνεισφέρουμε η εντολή που χρειαζόμαστε είναι `git clone`.
3838
Αν είμαστε εξεικοιωμένοι με άλλα συστήματα ελέγχου έκδοσης όπως το Subversion, θα παρατηρήσουμε ότι η εντολή είναι "clone" και όχι "checkout".
3939
Αυτή είναι μια σημαντική διάκριση· το Git παίρνει ένα πλήρες αντίγραφο σχεδόν όλων των δεδομένων που έχει ο διακομιστής αντί για ένα απλό αντίγραφο.
4040
Με την εντολή `git clone` όλες οι εκδόσεις του κάθε αρχείου του έργου αποθηκεύονται τοπικά.

book/02-git-basics/sections/recording-changes.asc

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -354,7 +354,7 @@ index 643e24f..87f08c8 100644
354354
+# test line
355355
----
356356

357-
καθώς και την εντολή `git diff --cached` για να δούμε τι έχει καταχωρηθεί μέχρι τώρα (τα --staged και --cached είναι συνώνυμα):
357+
καθώς και την εντολή `git diff --cached` για να δούμε τι έχει καταχωρηθεί μέχρι τώρα (τα `--staged` και `--cached` είναι συνώνυμα):
358358

359359
[source,console]
360360
----
@@ -544,7 +544,7 @@ $ git rm \*~
544544
(((files, moving)))
545545
Σε αντίθεση με άλλα συστήματα ελέγχου έκδοσης, το Git δεν παρακολουθεί τις μετακινήσεις αρχείων από μόνο του.
546546
Αν μετονομάσουμε ένα αρχείο στο Git, δεν θα αποθηκευτεί καμιά πληροφορία που να ενημερώνει το Git ότι μετονομάσαμε το αρχείο.
547-
Παρόλα αυτά, το Git είναι αρκετά έξυπνο ώστε να καταλάβει κάτι τέτοιο --θα ασχοληθούμε λίγο αργότερα με το πώς παρακολουθείται η μετακίνηση αρχείων.
547+
Παρόλα αυτά, το Git είναι αρκετά έξυπνο ώστε να καταλάβει κάτι τέτοιο θα ασχοληθούμε λίγο αργότερα με το πώς παρακολουθείται η μετακίνηση αρχείων.
548548

549549
Έτσι, είναι λίγο περίπλοκο το γεγονός ότι το Git έχει την εντολή `mv`.
550550
Αν θέλουμε να μετονομάσουμε ένα αρχείο στο Git, μπορούμε να το κάνουμε κάπως έτσι
@@ -578,5 +578,5 @@ $ git add README
578578
----
579579

580580
Το Git μπορεί να καταλάβει ότι έμμεσα πρόκειται για μετονομασία. Συνεπώς, δεν έχει σημασία αν μετονομάσουμε ένα αρχείο με αυτόν τον τρόπο ή με την εντολή `mv`.
581-
Η μόνη πραγματική αλλαγή είναι ότι η εντολή `mv` είναι μία εντολή αντί για τρεις --το χρησιμοποιούμε για ευκολία.
581+
Η μόνη πραγματική αλλαγή είναι ότι η εντολή `mv` είναι μία εντολή αντί για τρεις το χρησιμοποιούμε για ευκολία.
582582
Σε κάθε περίπτωση, μπορούμε να χρησιμοποιήσουμε όποιο εργαλείο θέλουμε για να μετονομάσουμε ένα αρχείο, και να λύσουμε το πρόβλημα του add/rm αργότερα, πριν την υποβολή.

0 commit comments

Comments
 (0)