You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: book/01-introduction/1-introduction.asc
+1Lines changed: 1 addition & 0 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -23,3 +23,4 @@ include::sections/help.asc[]
23
23
Σε αυτό το σημείο έχουμε πλέον μία βασική γνώση του τι είναι το Git και πώς διαφέρει από ένα συγκεντρωτικό σύστημα ελέγχου έκδοσης που ενδεχομένως έχουμε χρησιμοποιήσει.
24
24
Επίσης έχουμε μια έκδοση του Git στο σύστημά μας η οποία είναι ρυθμισμένη με τα προσωπικά μας στοιχεία.
25
25
Ήρθε η ώρα, λοιπόν, να μάθουμε τα βασικά πράγματα για το Git.
Copy file name to clipboardExpand all lines: book/01-introduction/sections/basics.asc
+2-2Lines changed: 2 additions & 2 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -1,8 +1,8 @@
1
1
=== Τα βασικά του Git
2
2
3
3
Τι είναι, λοιπόν, το Git με λίγα λόγια;
4
-
Η συγκεκριμένη ενότητα είναι σημαντική επειδή αν καταλάβουμε τι είναι το Git και το πώς δουλεύει, θα είναι πιο εύκολο να το χρησιμοποιήσουμε αποτελεσματικά.
5
-
Καθώς μαθαίνουμε το Git, ας προσπαθήσουμε να αδειάσουμε το μυαλό μας από γνώσεις που μπορεί να έχουμε από άλλα συστήματα ελέγχου έκδοσεων, όπως το Subversion (((Subversion))) και το (((Perforce))) Perforce.
4
+
Η συγκεκριμένη ενότητα είναι σημαντική επειδή αν καταλάβουμε τι είναι το Git και το πώς δουλεύει, θα είναι πιο εύκολο να το χρησιμοποιήσουμε αποτελεσματικά.
5
+
Καθώς μαθαίνουμε το Git, ας προσπαθήσουμε να αδειάσουμε το μυαλό μας από γνώσεις που μπορεί να έχουμε από άλλα συστήματα ελέγχου έκδοσεων, όπως το Subversion (((Subversion))) και το (((Perforce))) Perforce.
6
6
Με τον τρόπο αυτό θα σποφύγουμε την όποια σύγχυση με τα υπόλοιπα συστήματα.
7
7
Αν και η διεπαφή του Git με τον χρήστη είναι παρόμοια με αυτές των άλλων VCS, το Git αποθηκεύει και αντιμετωπίζει την πληροφορία με πολύ διαφορετικό τρόπο από ότι τα άλλα συστήματα και η κατανόηση των διαφορών θα μας βοηθήσει να μην μπερδευόμαστε όταν το χρησιμοποιούμε.
Copy file name to clipboardExpand all lines: book/01-introduction/sections/first-time-setup.asc
+1-1Lines changed: 1 addition & 1 deletion
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -12,7 +12,7 @@
12
12
Αν χρησιμοποιήσουμε την επιλογή `--system` στην εντολή `git config`, τότε η εντολή διαβάζει και γράφει από αυτό το αρχείο.
13
13
2. Στο αρχείο `~/.gitconfig` ή `~/.config/git/config`: περιέχει τιμές συγκεκριμένες για τον χρήστη.
14
14
Για να κάνουμε το Git να γράφει σε και να διαβάζει από αυτό το αρχείο θα πρέπει να χρησιμοποιήσουμε την επιλογή `--global`.
15
-
3. Στο αρχείο `config` στον κατάλογο του Git (το αρχείο αυτό ονομάζεται `.git/config`) του αποθετηρίου το οποίο χρησιμοποιούμε: Περιέχει τιμές ειδικά για το συγκεριμένο αποθετήριο.
15
+
3. Στο αρχείο `config` στον κατάλογο του Git (το αρχείο αυτό ονομάζεται `.git/config`) του αποθετηρίου το οποίο χρησιμοποιούμε: περιέχει τιμές ειδικά για το συγκεριμένο αποθετήριο.
16
16
17
17
Κάθε ένα από τα παραπάνω επίπεδα υπερσκελίζει τις τιμές του προηγούμενου επιπέδου. Για παράδειγμα, οι τιμές του αρχείου `.git/config` υπερσκελίζουν εκείνες του αρχείου `/etc/gitconfig`.
Copy file name to clipboardExpand all lines: book/05-distributed-git/sections/contributing.asc
+1-1Lines changed: 1 addition & 1 deletion
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -579,7 +579,7 @@ $ git fetch origin
579
579
.Αρχικό ιστορικό υποβολών με τη δουλειά στο `featureB`.
580
580
image::images/public-small-1.png[Αρχικό ιστορικό υποβολών με τη δουλειά στο `featureB`.]
581
581
582
-
Ας υποθέσουμε ότι ο συντηρητής του έργου έχει έλξει κάμποσες επιδιορθώσεις κώδικα και έχει δοκιμάσει τον πρώτο μας κλάδο, αλλά πλέον δεν συγχωνεύεται παστρικά.
582
+
Ας υποθέσουμε ότι ο συντηρητής του έργου έχει έλξει κάμποσα επιθέματα και έχει δοκιμάσει τον πρώτο μας κλάδο, αλλά πλέον δεν συγχωνεύεται παστρικά.
583
583
Σε αυτήν την περίπτωση, μπορούμε να προσπαθήσουμε να επανατοποθετήσουμε αυτόν τον κλάδο στην κορυφή του κλάδου `origin/master`, να επιλύσουμε τις συγκρούσεις για τον διαχειριστή και στη συνέχεια να προωθήσουμε εκ νέου τις αλλαγές μας:
Copy file name to clipboardExpand all lines: book/05-distributed-git/sections/maintaining.asc
+1-1Lines changed: 1 addition & 1 deletion
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -386,7 +386,7 @@ Finished one cherry-pick.
386
386
3 files changed, 17 insertions(+), 3 deletions(-)
387
387
-----
388
388
389
-
Αυτή η εντολή έλκει την ίδια αλλαγή με αυτήν που εισήχθη στο `e43a6`, αλλά παίρνουμε μια νέα τιμή SHA-1 για την υποβολή επειδή η ημερομηνία που εφαρμόστηκε είναι διαφορετική.
389
+
Αυτή η εντολή έλκει την ίδια αλλαγή με αυτήν που εισήχθη στην `e43a6`, αλλά παίρνουμε μια νέα τιμή SHA-1 για την υποβολή επειδή η ημερομηνία κατά την οποία εφαρμόστηκε είναι διαφορετική.
390
390
Τώρα η ιστορικό μας μοιάζει με αυτό:
391
391
392
392
.Ιστορικό μετά την ανθολόγηση υποβολής σε έναν θεματικό κλάδο.
Copy file name to clipboardExpand all lines: book/06-github/sections/3-maintaining.asc
+10-10Lines changed: 10 additions & 10 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -84,7 +84,7 @@ Mας δίνει επίσης μερικές διευθύνσεις URL που
84
84
Το είδαμε αυτό εν συντομία στην ενότητα <<_checking_out_remotes>>.
85
85
Αν θέλουμε, μπορούμε να δημιουργήσουμε έναν θεματικό κλάδο, να μεταβούμε σε αυτόν και στη συνέχεια να εκτελέσουμε αυτήν την εντολή για να συγχωνεύσουμε τις αλλαγές του αιτήματος έλξης.
86
86
87
-
Οι άλλες ενδιαφέρουσες διευθύνσεις URL είναι οι διευθύνσεις `.diff` και `.patch`, οι οποίες, όπως μπορεί να μαντέψει κανείς, παρέχουν ενοποιημένες εκδόσεις της diff και της επιδιόρθωσης κώδικα του αιτήματος έλξης.
87
+
Οι άλλες ενδιαφέρουσες διευθύνσεις URL είναι οι διευθύνσεις `.diff` και `.patch`, οι οποίες, όπως μπορεί να μαντέψει κανείς, παρέχουν ενοποιημένες εκδόσεις της diff και του επιθέματος του αιτήματος έλξης.
88
88
Θα μπορούσαμε να συγχωνεύσουμε την εργασία του αιτήματος έλξης με κάτι σαν αυτό:
Εάν έχουμε να κάνουμε με *πολλά* αιτήματα έλξης και δεν θέλουμε να προσθέσουμε πολλά απομακρυσμένα αποθετήρια ή να κάνουμε μία έλξη κάθε φορά, υπάρχει ένα ωραίο κόλπο που μας επιτρέπει να κάνουμε το GitHub.
123
-
είναι ένα λίγο προηγμένο τέχνασμα και θα δούμε τις λεπτομέρειές του σε μεγαλύτερο βάθος στην ενότητα <<_refspec>>, αλλά μπορεί να είναι αρκετά χρήσιμο.
122
+
Εάν έχουμε να κάνουμε με *πολλά* αιτήματα έλξης και δεν θέλουμε να προσθέσουμε πολλά απομακρυσμένα αποθετήρια ή να κάνουμε μία έλξη κάθε φορά, υπάρχει ένα ωραίο κόλπο που το GitHub μας επιτρέπει να κάνουμε.
123
+
Είναι λίγο προηγμένο τέχνασμα και θα δούμε τις λεπτομέρειές του σε μεγαλύτερο βάθος στην ενότητα <<_refspec>>, αλλά μπορεί να είναι αρκετά χρήσιμο.
124
124
125
125
Το GitHub διαφημίζει τους κλάδους αιτημάτων έλξης ενός αποθετηρίου ως ένα είδος ψευδο-κλάδων στον διακομιστή.
126
-
Από προεπιλογή δεν τους παίρνουμε όταν κλωνοποιούμε, αλλά είναι εκεί με κάποιον ασαφή και ομιχλώδη τρόπο και μπορούμε να έχουμε αρκετά εύκολα πρόσβαση σε αυτά.
126
+
Εκ προεπιλογής δεν τους παίρνουμε όταν κλωνοποιούμε, αλλά είναι εκεί με κάποιον ασαφή και ομιχλώδη τρόπο και μπορούμε να έχουμε αρκετά εύκολη πρόσβαση σε αυτά.
127
127
128
-
Για να το δείξουμε αυτό, πρόκειται να χρησιμοποιήσουμε μια εντολή χαμηλού επιπέδου (που συχνά αναφέρεται ως εντολή ``διοχέτευσης'' (plumbing), την `ls-remote`, για την οποία θα διαβάσουμε για περισσότερα στην ενότητα <<_plumbing_porcelain>>).
128
+
Για να το δείξουμε αυτό, θα χρησιμοποιήσουμε μια εντολή χαμηλού επιπέδου (που συχνά αναφέρεται ως εντολή ``διοχέτευσης'' (plumbing), την `ls-remote`, για την οποία θα πούμε περισσότερα στην ενότητα <<_plumbing_porcelain>>).
129
129
Αυτή η εντολή γενικά δεν χρησιμοποιείται στις καθημερινές λειτουργίες του Git, αλλά μας χρησιμεύει να δούμε ποιες αναφορές υπάρχουν στον διακομιστή.
130
130
131
131
Αν εκτελέσουμε αυτήν την εντολή για τον αποθετήριο ``blink'' που χρησιμοποιούσαμε νωρίτερα, θα έχουμε μια λίστα με όλους τους κλάδους, ετικέτες και άλλες αναφορές στο αποθετήριο.
Φυσικά, εάν βρισκόμαστε στο δικό μας αποθετήριο και εκτελέσουμε `git ls-remote origin` ή οποιοδήποτε απομακρυσμένο αποθετήριο θέλουμε να ελέγξουμε, θα μας δείξει κάτι παρόμοιο με αυτό.
147
147
148
-
Αν το αποθετήριο βρίσκεται στο GitHub και έχουμε υποβεβλημένα αίτηματα έλξης, θα λάβουμε αυτές τις αναφορές, με πρόθεμα `refs/pull/`.
149
-
Αυτές είναι ουσιαστικά κλάδοι, αλλά επειδή δεν βρίσκονται κάτω από `refs/heads/`, δεν τις παίρνουμε όταν κλωνοποιούμε ή ανακτούμε από το διακομιστή --η διαδικασία της ανάκτησης τους αγνοεί κανονικά.
148
+
Αν το αποθετήριο βρίσκεται στο GitHub και έχουμε υποβεβλημένα αίτηματα έλξης, θα λάβουμε αυτές τις αναφορές, με πρόθεμα `refs/pull/`.
149
+
Αυτές είναι ουσιαστικά κλάδοι, αλλά επειδή δεν βρίσκονται στον `refs/heads/`, δεν τις παίρνουμε όταν κλωνοποιούμε ή ανακτούμε από τον διακομιστή --η διαδικασία της ανάκτησης τους αγνοεί κάτω από κανονικές συνθήκες.
150
150
151
-
Υπάρχουν δύο αναφορές ανά αίτημα έλξης --αυτή που τελειώνει σε σημεία `/head` δείχνει στην ίδια ακριβώς υποβολή με την τελευταία υποβολή στον κλάδο του αιτήματος έλξης.
152
-
Έτσι, αν κάποιος υποβάλει ένα αίτημα έλξης στο αποθετήριό μας και ο κλάδος του ονομάζεται `bug-fix` και δείχνει στην υποβολή `a5a775`, τότε στο *δικό μας* αποθετήριο δεν θα έχουμε κλάδο `bug-fix ' (αφού αυτός βρίσκεται στη διχάλα του), αλλά θα έχουμε `pull/<pr#>/head` που δείχνει στην `a5a775`.
153
-
Αυτό σημαίνει ότι μπορούμε πολύ εύκολα να έλξουμε κάθε κλάδο αιτήματος έλξης χωρίς να χρειαστεί να προσθέσουμε κάμποσα απομακρυσμένα αποθετήρια.
151
+
Υπάρχουν δύο αναφορές ανά αίτημα έλξης --αυτή που τελειώνει σε `/head` δείχνει στην ίδια ακριβώς υποβολή με την τελευταία υποβολή στον κλάδο του αιτήματος έλξης.
152
+
Έτσι, αν κάποιος υποβάλει ένα αίτημα έλξης στο αποθετήριό μας και ο κλάδος του ονομάζεται `bug-fix` και δείχνει στην υποβολή `a5a775`, τότε στο *δικό μας* αποθετήριο δεν θα έχουμε κλάδο `bug-fix ' (αφού αυτός βρίσκεται στη δική του διχάλα), αλλά θα έχουμε `pull/<pr#>/head` που δείχνει στην `a5a775`.
153
+
Αυτό σημαίνει ότι μπορούμε πολύ εύκολα να έλξουμε κάθε κλάδο ενός αιτήματος έλξης χωρίς να χρειαστεί να προσθέσουμε κάμποσα απομακρυσμένα αποθετήρια.
154
154
155
155
Τώρα, μπορούμε να ανακτήσουμε απευθείας την αναφορά.
0 commit comments