|
1 | 1 | === Τα βασικά του Git |
2 | 2 |
|
3 | 3 | Τι είναι, λοιπόν, το Git με λίγα λόγια; |
4 | | -Η συγκεκριμένη ενότητα είναι σημαντική επειδή αν καταλάβουμε τι είναι το Git και το πώς δουλεύει, θα είναι πιο εύκολο να το χρησιμοποιήσουμε αποτελεσματικά. |
5 | | -Καθώς μαθαίνουμε το Git, ας προσπαθήσουμε να αδειάσουμε το μυαλό μας από γνώσεις που μπορεί να έχουμε από άλλα συστήματα ελέγχου έκδοσεων, όπως το Subversion (((Subversion))) και το (((Perforce))) Perforce. |
6 | | -Με τον τρόπο αυτό θα σποφύγουμε την όποια σύγχυση με τα υπόλοιπα συστήματα. |
7 | | -Αν και η διεπαφή του Git με τον χρήστη είναι παρόμοια με αυτές των άλλων VCS, το Git αποθηκεύει και αντιμετωπίζει την πληροφορία με πολύ διαφορετικό τρόπο από ότι τα άλλα συστήματα και η κατανόηση των διαφορών θα μας βοηθήσει να μην μπερδευόμαστε όταν το χρησιμοποιούμε. |
| 4 | +Η συγκεκριμένη ενότητα είναι σημαντική επειδή αν καταλάβετε τι είναι το Git και πώς δουλεύει, θα είναι πιο εύκολο να το χρησιμοποιήσετε αποτελεσματικά. |
| 5 | +Καθώς μαθαίνετε το Git, προσπαθήστε να αδειάσετε το μυαλό σας από γνώσεις που μπορεί να έχετε για άλλα συστήματα ελέγχου έκδοσεων, όπως το Subversion (((Subversion))) και το (((Perforce))) Perforce. |
| 6 | +Με αυτό τον τρόπο θα αποφύγετε την όποια σύγχυση με τα υπόλοιπα συστήματα. |
| 7 | +Αν και η διεπαφή χρήστη του Git είναι παρόμοια με αυτές των άλλων VCS, το Git αποθηκεύει και αντιμετωπίζει τα δεδομένα με πολύ διαφορετικό τρόπο και η κατανόηση των διαφορών θα σας βοηθήσει να μην μπερδεύεστε όταν το χρησιμοποιείτε. |
8 | 8 |
|
9 | 9 | ==== Στιγμιότυπα, όχι διαφορές |
10 | 10 |
|
@@ -41,12 +41,13 @@ image::images/snapshots.png[Αποθήκευση δεδομένων ως στι |
41 | 41 | Αυτό σημαίνει ότι μπορείτε να δείτε το ιστορικό του έργου σας σχεδόν στιγμιαία. |
42 | 42 | Αν θέλετε να δείτε τις αλλαγές που εισήχθησαν ανάμεσα στην τρέχουσα έκδοση ενός αρχείου και στην έκδοσή του πριν από ένα μήνα, το Git θα εντοπίσει το αρχείο όπως ήταν πριν από ένα μήνα και θα κάνει έναν τοπικό υπολογισμό των διαφορών, αντί να ζητήσει από τον διακομιστή να το κάνει ή να τραβήξει την παλιά έκδοση του αρχείου και να υπολογίσει τις διαφορές τοπικά. |
43 | 43 |
|
44 | | -Αυτό επίσης σημαίνει ότι είναι πολύ λίγες οι λειτουργίες που δεν μπορούμε να κάνουμε όταν είμαστε εκτός δικτύου. |
45 | | -Αν βρισκόμαστε σε ένα αεροπλάνο ή στο τρένο και θέλουμε να εργαστούμε, μπορούμε να υποβάλλουμε τις αλλαγές μας χωρίς πρόβλημα, και να τις μεταφορτώσουμε όταν επανέλθει η σύνδεση δικτύου. |
46 | | -Αν είμαστε στο σπίτι και δεν μπορούμε να συνδεθούμε μέσω του πελάτη (client) του εικονικού τοπικού μας δικτύου (Virtual Private Network —VPN), μπορούμε ακόμα να εργαστούμε. |
47 | | -Σε πολλά άλλα συστήματα, οι παραπάνω λειτουργίες είναι είτε αδύνατες είτε επίπονες. |
48 | | -Στο Perforce, για παράδειγμα, πολλές λειτουργίες δεν είναι δυνατό να πραγματοποιηθούν, αν δεν υπάρχει σύνδεση με τον διακομιστή. Στο Subversion και στο CVS είναι δυνατό να γίνει επεξεργασία των αρχείων, αλλά δεν είναι δυνατό υποβληθούν οι αλλαγές στη βάση δεδομένων εφόσον βρίσκεται εκτός σύνδεσης. |
49 | | -Τα παραπάνω μπορεί να μην φαίνονται πολύ σημαντικά, αλλά κάποιος που έχει δουλέψει με το Subversion ή το CVS ενδεχομένως θα εντυπωσιαστεί από το πόσο μεγάλη διαφορά μπορεί να κάνουν. |
| 44 | +Αυτό σημαίνει επιπλέον ότι είναι πολύ λίγες οι λειτουργίες που δεν μπορείτε να κάνετε όταν είστε εκτός δικτύου ή δεν είστε συνδεδεμένοι στο VPN. |
| 45 | +Αν βρίσκεστε σε ένα αεροπλάνο ή στο τρένο και θέλετε να εργαστείτε, μπορείτε να υποβάλλετε τις αλλαγές σας χωρίς πρόβλημα (στο τοπικό σας αντίγραφο) και να τις μεταφορτώσετε όταν ξανασυνδεθείτε στο δίκτυο. |
| 46 | +Αν βρίσκεστε στο σπίτι σας και το VPN client σας δεν δουλεύει καλά και δεν μπορείτε να συνδεθείτε, μπορείτε ακόμα να εργαστείτε. |
| 47 | +Σε πολλά άλλα συστήματα, αυτό είναι είτε αδύνατο είτε επίπονο. |
| 48 | +Για παράδειγμα, στο Perforce δεν μπορείτε να κάνετε πολλά πράγματα αν δεν είστει συνδεδεμένοι με τον διακομιστή. |
| 49 | +Στο Subversion και το CVS μπορείτε να επεξεργαστείτε αρχεία, αλλά δεν είναι δυνατό υποβάλετε τις αλλαγές στη βάση δεδομένων σας, διότι δεν είστε συνδεδεμένοι με αυτή. |
| 50 | +Τα παραπάνω μπορεί να μην φαίνονται πολύ σημαντικά, αλλά θα εκπλαγείτε με το πόσο μεγάλη διαφορά μπορεί να κάνουν. |
50 | 51 |
|
51 | 52 | ==== To Git έχει ακεραιότητα |
52 | 53 |
|
@@ -86,27 +87,27 @@ image::images/snapshots.png[Αποθήκευση δεδομένων ως στι |
86 | 87 | * Επισημασμένο (staged) σημαίνει ότι ένα τροποποιημένο αρχείο της τρέχουσας έκδοσης όταν έχει επισημανθεί για βρίσκεται στο επόμενο υποβεβλημένο στιγμιότυπο. |
87 | 88 | * Δεσμευμένο (commited) είναι ένα αρχείο όταν τα δεδομένα του είναι αποθηκευμένα με ασφάλεια στην τοπική βάση δεδομένων. |
88 | 89 |
|
89 | | -Αυτό μας οδηγεί στις τρεις βασικές περιοχές ενός έργου στο Git: τον κατάλογο του Git, τον κατάλογο εργασίας και το στάδιο καταχώρισης. |
| 90 | +Αυτό μας φέρνει στις τρεις βασικές περιοχές ενός έργου στο Git: το δέντρο εργασίας, τον προθάλαμο και τον κατάλογο του Git. |
90 | 91 |
|
91 | 92 | .Κατάλογος εργασίας, προθάλαμος και κατάλογος του Git. |
92 | | -image::images/areas.png[Κατάλογος εργασίας, προθάλαμος και κατάλογος του Git.] |
| 93 | +image::images/areas.png["Δέντρο εργασίας, προθάλαμος και κατάλογος του Git."] |
93 | 94 |
|
94 | 95 | Το δέντρο εργασίας είναι το στιγμιότυπο μίας έκδοσης του έργου. |
95 | 96 | Τα αρχεία ανασύρονται (pulled) από τη συμπιεσμένη βάση δεδομένων του καταλόγου του Git και τοποθετούνται στον τοπικό δίσκο ώστε να τα χρησιμοποιήσετε ή να τα τροποποιήσετε. |
96 | 97 |
|
97 | 98 | Ο προθάλαμος είναι ένα αρχείο το οποίο γενικά περιλαμβάνεται στον κατάλογο σας του Git, στο οποίο είναι αποθηκευμένες πληροφορίες σχετικά με το τι θα υποβληθεί στην επόμενη δέσμευση (commit). |
98 | | -Το τεχνικό όνομα του προθαλάμου στην ορολογία του Git είναι "`index`" (ευρετήριο), αλλά το όνομα "`προθάλαμος`" είναι επίσης σύνηθες. |
| 99 | +Το τεχνικό όνομα του προθαλάμου στην ορολογία του Git είναι "`index`" (ευρετήριο), αλλά το όνομα "`staging area`" (προθάλαμος) είναι επίσης σύνηθες. |
99 | 100 |
|
100 | 101 | Ο κατάλογος του Git είναι το μέρος όπου το Git αποθηκεύει τα μεταδεδομένα (metadata) και τη βάση δεδομένων των αντικειμένων του έργου. |
101 | 102 | Αυτό είναι το πιο σημαντικό τμήμα του Git και είναι αυτό που αντιγράφεται όταν δημιουργείτε έναν κλώνο ενός αποθετηρίου από έναν άλλο υπολογιστή. |
102 | 103 |
|
103 | 104 | Η βασική ροή εργασίας του Git είναι κάτι σαν το εξής: |
104 | 105 |
|
105 | | -1. Τροποποιούμε κάποια αρχεία στον κατάλογο εργασίας μας. |
106 | | -2. Καταχωρούμε τα αρχεία, προσθέτοντας στιγμιότυπά τους στο στάδιο καταχώρισης. |
107 | | -3. Πραγματοποιούμε μιας υποβολή, η οποία θα πάρει τα αρχεία όπως είναι στο στάδιο καταχώρισης και αποθηκεύει αυτό το στιγμιότυπο μόνιμα στον κατάλογο του Git. |
| 106 | +1. Τροποποιείτε κάποια αρχεία στον δεντρο εργασίας σας. |
| 107 | +2. Επιλέγετε ποιες αλλαγές θέλετε να υποβληθούν στην επόμενη υποβολή, τοποθετώντας αυτές μόνο τις αλλαγές στον προθάλαμο. |
| 108 | +3. Πραγματοποιείτε μια υποβολή, η οποία παίρνει τα αρχεία όπως είναι στον προθάλαμο και αποθηκεύει αυτό το στιγμιότυπο μόνιμα στον κατάλογο του Git. |
108 | 109 |
|
109 | | -Αν μια συγκεκριμένη έκδοση ενός αρχείου βρίσκεται στον κατάλογο του Git, ονομάζεται υποβεβλημένη. |
110 | | -Αν έχει τροποποιηθεί και έχει προστεθεί στο στάδιο καταχώρισης, ονομάζεται καταχωρημένη έκδοση. |
111 | | -Επίσης αν έχει τροποποιηθεί από τότε που ελέγχθηκε τελευταία φορά αλλλά δεν έχει καταχωρηθεί τότε λέμε ότι πρόκειται για τροποποιημένη έκδοση. |
112 | | -Στο κεφάλαιο <<ch02-git-basics#ch02-git-basics>>, θα μάθουμε περισσότερα για αυτές τις καταστάσεις και το πώς μπορούμε να τις εκμεταλευτούμε ή να παρακάμψουμε εντελώς το στάδιο καταχώρισης. |
| 110 | +Αν μια συγκεκριμένη έκδοση ενός αρχείου βρίσκεται στον κατάλογο του Git, θεωρείται _υποβεβλημένο_ (committed). |
| 111 | +Αν έχει τροποποιηθεί και έχει προστεθεί στον προθάλαμο, ονομάζεται _επισημασμένο_ (staged). |
| 112 | +Τέλος, αν έχει τροποποιηθεί από τότε που ανακλήθηκε αλλά δεν έχει επισημανθεί, τότε λέμε ότι είναι _τροποποιημένο_. |
| 113 | +Στο κεφάλαιο <<ch02-git-basics#ch02-git-basics>>, θα μάθετε περισσότερα για αυτές τις καταστάσεις και για το πώς μπορείτε να τις εκμεταλευτείτε ή να παρακάμψετε εντελώς τον προθάλαμο. |
0 commit comments