Skip to content

Commit 46cbafd

Browse files
authored
Merge pull request #50 from progit2-gr/cs/staging-area-2
Άλλαξα το 'ενδιάμεσο στάδιο' σε 'στάδιο καταχώρισης' όπως συμφωνήθηκε…
2 parents 5b2dbf4 + 8665e91 commit 46cbafd

File tree

24 files changed

+443
-85
lines changed

24 files changed

+443
-85
lines changed

book/01-introduction/sections/basics.asc

Lines changed: 9 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -83,27 +83,27 @@ image::images/snapshots.png[Το Git αποθηκεύει τα δεδομένα
8383
* _Τροποποιημένο_ είναι ένα αρχείο όταν έχει αλλάξει, αλλά δεν έχει υποβληθεί στη βάση δεδομένων ακόμα.
8484
* _Καταχωρημένο_ είναι ένα τροποποιημένο αρχείο της τρέχουσας έκδοσης όταν έχει επισημανθεί για βρίσκεται στο επόμενο υποβεβλημένο στιγμιότυπο.
8585

86-
Αυτό μας οδηγεί στις τρεις βασικές περιοχές ενός έργου στο Git: τον κατάλογο του Git, τον κατάλογος εργασίας και το ενδιάμεσο στάδιο.
86+
Αυτό μας οδηγεί στις τρεις βασικές περιοχές ενός έργου στο Git: τον κατάλογο του Git, τον κατάλογο εργασίας και το στάδιο καταχώρισης.
8787

88-
.Κατάλογος εργασίας, ενδιάμεσο στάδιο και κατάλογος του Git.
89-
image::images/areas.png["Κατάλογος εργασίας, ενδιάμεσο στάδιο και κατάλογος του Git."]
88+
.Κατάλογος εργασίας, στάδιο καταχώρισης και κατάλογος του Git.
89+
image::images/areas.png["Κατάλογος εργασίας, στάδιο καταχώρισης και κατάλογος του Git."]
9090

9191
Ο κατάλογος του Git είναι το μέρος όπου το Git αποθηκεύει τα μεταδεδομένα (metadata) και τη βάση δεδομένων του έργου.
9292
Αυτό είναι το πιο σημαντικό μέρος του Git και είναι αυτό που αντιγράφεται όταν κλωνοποιούμε ένα αποθετήριο από έναν άλλο υπολογιστή.
9393

9494
Ο κατάλογος εργασίας είναι απλά ένα στιγμιότυπο μίας έκδοσης του έργου.
9595
Τα αρχεία αυτά ανασύρονται από τη συμπιεσμένη βάση δεδομένων του καταλόγου του Git και τοποθετούνται στον τοπικό δίκο ώστε να μπορεί ο χρήστης να τα χρησιμοποιήσει ή να τα τροποποιήσει.
9696

97-
Το ενδιάμεση στάδιο είναι ένα αρχείο το οποίο γενικά περιλαμβάνεται στον κατάλογο του Git, στο οποίο είναι αποθηκευμένες πληροφορίες σχετικά με το τι θα περάσει στην επόμενη υποβολή.
98-
Το τεχνικό όνομα του ενδιάμεσου σταδίου στην ορολογία του Git είναι ``ευρετήριο'', αλλά το όνομα ``ενδιάμεσο στάδιο'' είναι επίσης σύνηθες.
97+
Το στάδιο καταχώρισης είναι ένα αρχείο το οποίο γενικά περιλαμβάνεται στον κατάλογο του Git, στο οποίο είναι αποθηκευμένες πληροφορίες σχετικά με το τι θα περάσει στην επόμενη υποβολή.
98+
Το τεχνικό όνομα του σταδίου καταχώρισης στην ορολογία του Git είναι ``ευρετήριο'', αλλά το όνομα ``στάδιο καταχώρισης'' είναι επίσης σύνηθες.
9999

100100
Η βασική ροή εργασίας του Git είναι κάπως έτσι:
101101

102102
1. Τροποποιούμε κάποια αρχεία στον κατάλογο εργασίας μας.
103-
2. Καταχωρούμε τα αρχεία, προσθέτωντας στιγμιότυπά τους στο ενδιάμεσο στάδιο.
104-
3. Πραγματοποιούμε μιας υποβολή, η οποία θα πάρει τα αρχεία όπως είναι στο ενδιάμεσο στάδιο και αποθηκεύει αυτό το στιγμιότυπο μόνιμα στον κατάλογο του Git.
103+
2. Καταχωρούμε τα αρχεία, προσθέτοντας στιγμιότυπά τους στο στάδιο καταχώρισης.
104+
3. Πραγματοποιούμε μιας υποβολή, η οποία θα πάρει τα αρχεία όπως είναι στο στάδιο καταχώρισης και αποθηκεύει αυτό το στιγμιότυπο μόνιμα στον κατάλογο του Git.
105105

106106
Αν μια συγκεκριμένη έκδοση ενός αρχείου βρίσκεται στον κατάλογο του Git, ονομάζεται υποβεβλημένη.
107-
Αν έχει τροποποιηθεί και έχει προστεθεί στο ενδιάμεσο στάδιο, ονομάζεται καταχωρημένη έκδοση.
107+
Αν έχει τροποποιηθεί και έχει προστεθεί στο στάδιο καταχώρισης, ονομάζεται καταχωρημένη έκδοση.
108108
Επίσης αν έχει τροποποιηθεί από τότε που ελέγχθηκε τελευταία φορά αλλλά δεν έχει καταχωρηθεί τότε λέμε ότι πρόκειται για τροποποιημένη έκδοση.
109-
Στο κεφάλαιο <<ch02-git-basics#ch02-git-basics>>, θα μάθουμε περισσότερα για αυτές τις καταστάσεις και το πώς μπορούμε να τις εκμεταλευτούμε ή να παρακάμψουμε εντελώς το ενδιάμεσο στάδιο.
109+
Στο κεφάλαιο <<ch02-git-basics#ch02-git-basics>>, θα μάθουμε περισσότερα για αυτές τις καταστάσεις και το πώς μπορούμε να τις εκμεταλευτούμε ή να παρακάμψουμε εντελώς το στάδιο καταχώρισης.

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

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -65,7 +65,7 @@ nothing added to commit but untracked files present (use "git add" to track)
6565
$ git add README
6666
----
6767

68-
Αν τώρα εκτελέσουμε την εντολή για να δούμε την τρέχουσα κατάσταση του αποθετηρίου, θα δούμε ότι το αρχείο README πλέον παρακολουθείται και έχει καταχωρηθεί στο ενδιάμεσο στάδιο ώστε να είναι έτοιμο να υποβληθεί:
68+
Αν τώρα εκτελέσουμε την εντολή για να δούμε την τρέχουσα κατάσταση του αποθετηρίου, θα δούμε ότι το αρχείο README πλέον παρακολουθείται και έχει τοποθετηθεί στο στάδιο καταχώρισης ώστε να είναι έτοιμο να υποβληθεί:
6969

7070
[source,console]
7171
----
@@ -78,7 +78,7 @@ Changes to be committed:
7878
7979
----
8080

81-
Το αρχείο πλέον βρίσκεται κάτω από την κατηγορία ``Changes to be committed'' που σημαίνει ότι έχει καταχωρηθεί στο ενδιάμεσο στάδιο.
81+
Το αρχείο πλέον βρίσκεται κάτω από την κατηγορία ``Changes to be committed'' που σημαίνει ότι έχει τοποθετηθεί στο στάδιο καταχώρισης.
8282
Αν σε αυτό το σημείο κάνουμε υποβολή των αρχείων μας, η έκδοση του αρχείου README που θα αποθηκευτεί στο στιγμιότυπ θα είναι αυτή που υπήρχε όταν εκτελέσαμε την εντολή `git add`.
8383
Προηγουμένως κάναμε κάτι αντίστοιχο, εκτελέσαμε την εντολή `git init` ακολουθούμενη από `git add (files)`. Με τον τρόπο αυτό ξεκινήσαμε την παρακολούθηση των αρχείων του καταλόγου.(((εντολές git, init)))(((εντολές git, add)))
8484
Η εντολή `git add` μπορεί να ακολουθείται είτε από ένα αρχείο είτε από έναν κατάλογο. Αν ακολουθείται από κατάλογο τότε η εντολή θα καταχωρήσει όλα τα αρχεία του συγκεκριμένου καταλόγου αναδρομικά.

book/02-git-basics/sections/undoing.asc

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@
77
Θα δούμε κάποιες από τις ελάχιστες περιπτώσεις στο Git όπου μπορεί να χάσουμε μέρος της δουλειάς σας αν χρησιμοποιήσουμε με λάθος τρόπο τις εντολές.
88

99
Μια συχνή αναίρεση που χρησιμοποιείται είναι η περίπτωση κατά την οποία υποβάλλουμε κάτι πολύ νωρίς, αλλά ξεχάσαμε να προσθέσουμε κάποια αρχεία ή κάναμε κάποιο σφάλμα στο μήνυμα υποβολής.
10-
Αν θέλουμε να ξανακάνουμε τη συγκεκριμένη υποβολή, να προσθέσουμε τις αλλαγές που ξεχάσαμε, να τις βάλουμε στο ενδιάμεσο στάδιο και να τις ξαναϋποβάλλουμε, θα πρέπει να χρησιμοποιήσουμε την επιλογή `--amend`:
10+
Αν θέλουμε να ξανακάνουμε τη συγκεκριμένη υποβολή, να προσθέσουμε τις αλλαγές που ξεχάσαμε, να τις βάλουμε στο στάδιο καταχώρισης και να τις ξαναϋποβάλλουμε, θα πρέπει να χρησιμοποιήσουμε την επιλογή `--amend`:
1111

1212
[source,console]
1313
----
@@ -32,7 +32,7 @@ $ git commit --amend
3232
Έτσι καταλήγουμε με μια και μοναδική υποβολή. Η δεύτερη υποβολή αντικαθιστά τα αποτελέσματα της πρώτης.
3333

3434
[[r_unstaging]]
35-
==== Αφαίρεση αρχείου από το ενδιάμεσο στάδιο
35+
==== Αφαίρεση αρχείου από το στάδιο καταχώρισης
3636

3737
Στις επόμενες δύο ενότητες θα δούμε πώς μπορούμε να διαχειριστούμε τις αλλαγές στην περιοχή καταχώρησης και στον κατάλογο εργασίας.
3838
Κάτι που θα σας φανεί πολύ χρήσιμο είναι ότι η εντολή που μας προσδιορίζει την κατάσταση αυτών των περιοχών, μας υπενθυμίζει και πώς να αναιρέσουμε τις αλλαγές σε αυτές.

book/03-git-branching/sections/basic-branching-and-merging.asc

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -58,7 +58,7 @@ image::images/basic-branching-3.png[Ο κλάδος `iss53` μετατοπίστ
5858
Τώρα λαμβάνουμε το τηλεφώνημα ότι υπάρχει ένα άλλο επείγον πρόβλημα στην ιστοσελίδα και πρέπει να το αντιμετωπίσουμε άμεσα.
5959
Χάρη στο Git, δεν είναι απαραίτητο να αναπτύξουμε την επίλυση του προβλήματος παράλληλα με τις αλλαγές που έχουμε κάνει στον κλάδο `iss53` και δεν χρειάζεται να καταβάλλουμε μεγάλη προσπάθεια ώστε να αναιρέσουμε όλες τις αλλαγές που έχουμε κάνει και να δουλέψουμε στο επείγον πρόβλημα και να εφαρμόσουμε τη λύση μας σε ό,τι βρίσκεται εκείνη τη στιγμή στη γραμμή της παραγωγής. Το μόνο που έχουμε να κάνουμε είναι να μεταβούμε στον κλάδο `master`.
6060

61-
Ωστόσο πρέπει να τονιστεί ότι αν πριν το κάνουμε αυτό υπάρχουν στον κατάλογο εργασίας μας ή στο ενδιάμεσο στάδιο αλλάγες που δεν έχουν υποβληθεί και έρχονται σε σύγκρουση με τον κλάδο στον οποίο θέλουμε να μεταβούμε, το Git δεν θα μας αφήσει να αλλάξουμε κλάδο.
61+
Ωστόσο πρέπει να τονιστεί ότι αν πριν το κάνουμε αυτό υπάρχουν στον κατάλογο εργασίας μας ή στο στάδιο καταχώρισης αλλάγες που δεν έχουν υποβληθεί και έρχονται σε σύγκρουση με τον κλάδο στον οποίο θέλουμε να μεταβούμε, το Git δεν θα μας αφήσει να αλλάξουμε κλάδο.
6262
Το καλύτερο είναι να έχουμε μία καθαρή κατασταση εργασίας όταν μεταβαίνουμε από έναν κλάδο σε άλλο.
6363
Υπάρχουν τρόποι να παρακάμψουμε αυτήν τη συμπεριφορά (με τις εντολές `git stash` και `git commit -amend` που θα καλύψουμε στη συνέχεια, στην ενότητα <<ch07-git-tools#r_git_stashing>>.
6464
Προς το παρόν, ας υποθέσουμε ότι έχουμε υποβάλλει όλες τις αλλαγές μας, ώστε να μπορούμε να μεταβαίνουμε από και προς τον κλάδο `master` χωρίς προβλήματα:
@@ -242,7 +242,7 @@ please contact us at [email protected]
242242

243243
Αυτή η επίλυση της σύγκρουσης περιέχει λίγο από κάθε τμήμα και οι γραμμές που περιέχουν τα `<<<<<<<`, `=======` και `>>>>>>>` έχουν αφαιρεθεί εντελώς.
244244
Αφού έχουμε επιλύσει όλα τα τμήματα σε κάθε αρχείο που εμπλέκεται σε σύγκρουση, τρέχουμε `git add` σε καθένα από αυτά τα αρχεία, ώστε να επισημανθεί ως επιλυμένο.
245-
Η προσθήκη ενός αρχείου στο ενδιάμεσο στάδιο το επισημαίνει ως επιλυμένο.
245+
Η προσθήκη ενός αρχείου στο στάδιο καταχώρισης το επισημαίνει ως επιλυμένο.
246246

247247
Αν θέλουμε αν χρησιμοποιήσουμε κάποιο γραφικό εργαλείο για να επιλύσουμε αυτές τις συγκρούσεις, τρέξτε `git mergetool` για να εκκινήσουμε ένα κατάλληλο γραφικό εργαλείο συγχώνευσης που θα μας καθοδηγήσει ανάμεσα στις συγκρούσεις:(((εντολές git, mergetool)))
248248

@@ -272,7 +272,7 @@ Hit return to start merge resolution tool (opendiff):
272272
====
273273

274274
Αφού βγούμε από το εργαλείο συγχώνευσης, το Git μάς ρωτάει αν η συγχώνευση ήταν επιτυχής.
275-
Αν του πούμε ότι ήταν, ωθεί το αρχείο στο ενδιάμεσο στάδιο ώστε να επισημανθεί ως επιλυμένο.
275+
Αν του πούμε ότι ήταν, ωθεί το αρχείο στο στάδιο καταχώρισης ώστε να επισημανθεί ως επιλυμένο.
276276
Μπορούμε να τρέξουμε την εντολή `git status` ξανά για να επιβεβαιώσουμε ότι όλες οι συγκρούσεις έχουν επιλυθεί:
277277

278278
[source,console]
@@ -287,7 +287,7 @@ Changes to be committed:
287287
modified: index.html
288288
----
289289

290-
Αν είμαστε ευχαριστημένοι με το αποτέλεσμα και επιβεβαιώσουμε ότι όλα τα εμπλεκόμενα σε συγκρούσεις αρχεία έχουν ωθηθεί στο ενδιάμεσο στάδιο, μπορούμε να πληκτρολογήσουμε `git commit` για να οριστικοποιήσουμε την υποβολή συγχώνευσης.
290+
Αν είμαστε ευχαριστημένοι με το αποτέλεσμα και επιβεβαιώσουμε ότι όλα τα εμπλεκόμενα σε συγκρούσεις αρχεία έχουν ωθηθεί στο στάδιο καταχώρισης, μπορούμε να πληκτρολογήσουμε `git commit` για να οριστικοποιήσουμε την υποβολή συγχώνευσης.
291291
Το μήνυμα υποβολής είναι εκ προεπιλογής κάπως έτσι:
292292

293293
[source,console]

book/03-git-branching/sections/nutshell.asc

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -8,8 +8,8 @@
88
Όταν κάνουμε κάνουμε μία υποβολή (commit), το Git αποθηκεύει ένα αντικείμενο υποβολής που περιέχει έναν δείκτη προς το στιγμιότυπο του περιεχομένου που έχει υποβληθεί.
99
Αυτό το αντικείμενο περιέχει επίσης το όνομα και email του συγγραφέα, το μήνυμα που έχουμε πληκτρολογήσει καθώς και δείκτες προς την υποβολή ή τις υποβολές που προηγήθηκαν ακριβώς πριν από αυτήν την υποβολή (δηλαδή, τον γονιό ή τους γονείς): όταν ένα αρχείο υποβάλλεται για πρώτη φορά, τότε δεν έχει κανέναν γονιό· μία συνηθισμένη υποβολή έχει έναν γονιό, ενώ μία υποβολή που προέκυψε από τη συγχώνευση δύο ή περισσότερων κλάδων έχει περισσότερους από έναν γονιό.
1010

11-
Για να το συγκεριμενοποιήσουμε λίγο, ας υποθέσουμε ότι έχουμε έναν κατάλογο που περιέχει τρία αρχεία, τα οποία έχουμε προσθέσει στην ενδιάμεση περιοχή και επιτελούμε υποβολή.
12-
Κατά την προσθήκη των αρχείων στην ενδιάμεση περιοχή υπολογίζονται τα αθροίσματα ελέγχου (checksums) των αρχείων (με τον αλγόριθμο SHA-1, που αναφέρθηκε στην ενότητα <<ch01-introduction#ch01-introduction>>), αποθηκεύονται οι συγκεκριμένες εκδόσεις των αρχείων στο αποθετήριο Git (το Git ονομάζει αυτές τις εκδόσεις blobs footnote:[Blob είναι ακρωνύμιο για τον όρο Binary Large OBjects.] και προσθέτει τα αθροίσματα ελέγχου στην ενδιαμέση περιοχή.
11+
Για να το συγκεριμενοποιήσουμε λίγο, ας υποθέσουμε ότι έχουμε έναν κατάλογο που περιέχει τρία αρχεία, τα οποία έχουμε προσθέσει στο στάδιο καταχώρισης και επιτελούμε υποβολή.
12+
Κατά την προσθήκη των αρχείων στο στάδιο καταχώρισης υπολογίζονται τα αθροίσματα ελέγχου (checksums) των αρχείων (με τον αλγόριθμο SHA-1, που αναφέρθηκε στην ενότητα <<ch01-introduction#ch01-introduction>>), αποθηκεύονται οι συγκεκριμένες εκδόσεις των αρχείων στο αποθετήριο Git (το Git ονομάζει αυτές τις εκδόσεις blobs footnote:[Blob είναι ακρωνύμιο για τον όρο Binary Large OBjects.] και προσθέτει τα αθροίσματα ελέγχου στην ενδιαμέση περιοχή.
1313

1414
[source,console]
1515
----

0 commit comments

Comments
 (0)