Skip to content

Commit c3a4742

Browse files
committed
Resolving conflicts
1 parent e0c928a commit c3a4742

File tree

5 files changed

+122
-3
lines changed

5 files changed

+122
-3
lines changed

book/01-introduction/sections/basics.asc

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,8 @@
11
=== Τα βασικά του Git
22

33
Τι είναι, λοιπόν, το Git με λίγα λόγια;
4-
Η συγκεκριμένη ενότητα είναι σημαντική επειδή αν καταλάβουμε τι είναι το Git και το πώς δουλεύει, θα είναι πιο εύκολο να το χρησιμοποιήσουμε αποτελεσματικά.
5-
Καθώς μαθαίνουμε το Git, ας προσπαθήσουμε να αδειάσουμε το μυαλό μας από γνώσεις που μπορεί να έχουμε από άλλα συστήματα ελέγχου έκδοσεων, όπως το Subversion (((Subversion))) και το (((Perforce))) Perforce.
4+
Η συγκεκριμένη ενότητα είναι σημαντική επειδή αν καταλάβουμε τι είναι το Git και το πώς δουλεύει, θα είναι πιο εύκολο να το χρησιμοποιήσουμε αποτελεσματικά.
5+
Καθώς μαθαίνουμε το Git, ας προσπαθήσουμε να αδειάσουμε το μυαλό μας από γνώσεις που μπορεί να έχουμε από άλλα συστήματα ελέγχου έκδοσεων, όπως το Subversion (((Subversion))) και το (((Perforce))) Perforce.
66
Με τον τρόπο αυτό θα σποφύγουμε την όποια σύγχυση με τα υπόλοιπα συστήματα.
77
Αν και η διεπαφή του Git με τον χρήστη είναι παρόμοια με αυτές των άλλων VCS, το Git αποθηκεύει και αντιμετωπίζει την πληροφορία με πολύ διαφορετικό τρόπο από ότι τα άλλα συστήματα και η κατανόηση των διαφορών θα μας βοηθήσει να μην μπερδευόμαστε όταν το χρησιμοποιούμε.
88

book/01-introduction/sections/first-time-setup.asc

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,7 @@
1212
Αν χρησιμοποιήσουμε την επιλογή `--system` στην εντολή `git config`, τότε η εντολή διαβάζει και γράφει από αυτό το αρχείο.
1313
2. Στο αρχείο `~/.gitconfig` ή `~/.config/git/config`: περιέχει τιμές συγκεκριμένες για τον χρήστη.
1414
Για να κάνουμε το Git να γράφει σε και να διαβάζει από αυτό το αρχείο θα πρέπει να χρησιμοποιήσουμε την επιλογή `--global`.
15-
3. Στο αρχείο `config` στον κατάλογο του Git (το αρχείο αυτό ονομάζεται `.git/config`) του αποθετηρίου το οποίο χρησιμοποιούμε: Περιέχει τιμές ειδικά για το συγκεριμένο αποθετήριο.
15+
3. Στο αρχείο `config` στον κατάλογο του Git (το αρχείο αυτό ονομάζεται `.git/config`) του αποθετηρίου το οποίο χρησιμοποιούμε: Περιέχει τιμές ειδικά για το συγκεριμένο αποθετήριο.
1616

1717
Κάθε ένα από τα παραπάνω επίπεδα υπερσκελίζει τις τιμές του προηγούμενου επιπέδου. Για παράδειγμα, οι τιμές του αρχείου `.git/config` υπερσκελίζουν εκείνες του αρχείου `/etc/gitconfig`.
1818

book/08-customizing-git/sections/config.asc

Lines changed: 64 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -35,7 +35,11 @@ $ git config --global user.email [email protected]
3535

3636
Οι επιλογές διαμόρφωσης που αναγνωρίζονται από το Git εμπίπτουν σε δύο κατηγορίες: πλευράς πελάτη και πλευράς διακομιστή.
3737
Η πλειονότητα των επιλογών είναι από την πλευρά του πελάτη - διαμόρφωση των προσωπικών μας προτιμήσεων εργασίας.
38+
<<<<<<< HEAD
3839
Υποστηρίζονται _πολλές_ επιλογές διαμόρφωση, αλλά ένα μεγάλο μέρος από αυτές είναι χρήσιμες μόνο σε ορισμένες οριακές περιπτώσεις.
40+
=======
41+
Υποστηρίζονται _πολλές_ επιλογές διαμόρφωσης αλλά ένα μεγάλο μέρος από αυτές είναι χρήσιμες μόνο σε ορισμένες οριακές περιπτώσεις.
42+
>>>>>>> Resolved some pull conflicts
3943
Εδώ θα καλύψουμε μόνο τις πιο συνηθισμένες και πιο χρήσιμες.
4044
Εάν θέλουμε να δούμε μια λίστα με όλες τις επιλογές που αναγνωρίζει η έκδοση του Git, μπορούμε να εκτελέσουμε
4145
@@ -65,7 +69,11 @@ Now, no matter what is set as your default shell editor, Git will fire up Emacs
6569
===== `commit.template`
6670
6771
(((commit templates)))
72+
<<<<<<< HEAD
6873
Εάν ορίσουμε αυτήν την παράμετρο να έχει ως τιμή τη διαδρομή ενός αρχείου στο σύστημά μας, το Git θα χρησιμοποιεί αυτό το αρχείο ως το προεπιλεγμένο μήνυμα όταν υποβάλλουμε.
74+
=======
75+
Εάν ορίσουμε αυτήν την παράμετρο να έχει ως τιμή την διαδρομή ενός αρχείου στο σύστημά μας, το Git θα χρησιμοποιεί αυτό το αρχείο ως το προεπιλεγμένο μήνυμα όταν υποβάλλουμε.
76+
>>>>>>> Resolved some pull conflicts
6977
Για παράδειγμα, ας υποθέσουμε ότι δημιουργούμε ένα πρότυπο (template) αρχείο στο `~/.gitmessage.txt` που μοιάζει με αυτό:
7078

7179
[source]
@@ -114,7 +122,11 @@ what happened
114122

115123
(((pager)))
116124
Αυτή η ρύθμιση καθορίζει ποιος σελιδοποιητής (pager) χρησιμοποιείται όταν το Git παραθέτει έξοδο όπως `log` και `diff`.
125+
<<<<<<< HEAD
117126
Μπορούμε να τη θέσουμε στο `more` ή στο αγαπημένο μας σελιδοποιητή (από προεπιλογή, είναι ο `less`) ή μπορούμε να την απενεργοποιήσουμε θέτοντάς τη σε μια κενή συμβολοσειρά:
127+
=======
128+
Μπορούμε να την θέσουμε στο `more` ή στο αγαπημένο μας σελιδοποιητή (από προεπιλογή, είναι ο `less`) ή μπορούμε να την απενεργοποιήσουμε θέτοντάς την σε μια κενή συμβολοσειρά:
129+
>>>>>>> Resolved some pull conflicts
118130
119131
[source,console]
120132
----
@@ -176,7 +188,11 @@ Did you mean this?
176188
checkout
177189
----
178190
191+
<<<<<<< HEAD
179192
Το Git προσπαθεί να καταλάβει τι εννοούσαμε, αλλά εξακολουθεί να αρνείται να το κάνει.
193+
=======
194+
Το Git προσπαθεί να καταλάβει τι εννοούσαμε αλλά εξακολουθεί να αρνείται να το κάνει.
195+
>>>>>>> Resolved some pull conflicts
180196
Αν ορίσουμε την επιλογή `help.autocorrect` στην τιμή 1, τότε το Git θα τρέξει την εντολή αντί για εμάς:
181197

182198
[source,console]
@@ -188,17 +204,33 @@ in 0.1 seconds automatically...
188204
----
189205

190206
Ας σημειωθεί ότι το ``0.1 seconds'' προκύπτει από την τιμή 1 στην οποία θέσαμε το `help.autocorrect`, αφού στην πραγματικότητα η `help.autocorrect` είναι ένας ακέραιος που αναπαριστά δέκατα του δευτερολέπτου.
207+
<<<<<<< HEAD
191208
Έτσι, αν τη θέσουμε στην τιμή 50, το Git θε περιμένει 5 δευτερόλεπτα να αλλάξουμε γνώμη πριν εκτελέσει αυτο-διορθωμένη εντολή.
209+
=======
210+
Έτσι, αν την θέσουμε στην τιμή 50, το Git θε περιμένει 5 δευτερόλεπτα να αλλάξουμε γνώμη πριν εκτελέσει αυτο-διορθωμένη εντολή.
211+
>>>>>>> Resolved some pull conflicts
192212
193213
==== Colors in Git
194214
195215
(((color)))
216+
<<<<<<< HEAD
196217
Το Git υποστηρίζει πλήρως την έγχρωμη εκτύπωση στο τερματικού, η οποία βοηθά σημαντικά στη γρήγορη και εύκολη παραγωγή των εντολών.
197218
Ορισμένες επιλογές μπορούν να μας βοηθήσουν να ορίσουμε τον χρωματισμό στις προτιμήσεις μας.
198219
199220
===== `color.ui`
200221
201222
Το Git χρωματίζει αυτόματα το μεγαλύτερο μέρος της εξόδου του, αλλά υπάρχει ένας κύριος διακόπτης με τον οποίο μπορούμε να απενεργοποιήσουμε αυτήν τη συμπεριφορά, αν δεν μας αρέσει.
223+
=======
224+
ΧΧΧ Το Git υποστηρίζει πλήρως την έγχρωμη έξοδο του τερματικού, η οποία βοηθά σημαντικά στην γρήγορη και εύκολη παραγωγή των εντολών.
225+
Ορισμένες επιλογές μπορούν να μας βοηθήσουν να ορίσουμε τον χρωματισμό στις προτιμήσεις μας.
226+
227+
ΧΧΧ Git fully supports colored terminal output, which greatly aids in visually parsing command output quickly and easily.
228+
A number of options can help you set the coloring to your preference.
229+
230+
===== `color.ui`
231+
232+
Το Git χρωματίζει αυτόματα το μεγαλύτερο μέρος της εξόδου του αλλά υπάρχει ένας κύριος διακόπτης με τον οποίο μπορούμε να απενεργοποιήσουμε αυτήν την συμπεριφορά, αν δεν μας αρέσει.
233+
>>>>>>> Resolved some pull conflicts
202234
Για να απενεργοποιήσουμε την έγχρωμη έξοδο του τερματικού Git, κάνουμε τα εξής:
203235

204236
[source,console]
@@ -322,14 +354,22 @@ or you can edit your `~/.gitconfig` file to add these lines:
322354
$ git diff 32d1776b1^ 32d1776b1
323355
----
324356

357+
<<<<<<< HEAD
325358
αντί να πάρουμε την έξοδο diff στη γραμμή εντολών, το Git ξεκινά το P4Merge, το οποίο μοιάζει με αυτό:
359+
=======
360+
αντί να πάρουμε την έξοδο diff στην γραμμή εντολών, το Git ξεκινά το P4Merge, το οποίο μοιάζει με αυτό:
361+
>>>>>>> Resolved some pull conflicts
326362
327363
.P4Merge.
328364
image::images/p4merge.png[P4Merge.]
329365
330366
Εάν προσπαθήσουμε να συγχωνεύσουμε δύο κλάδους και στη συνέχεια έχουμε συγκρούσεις συγχώνευσης, μπορούμε να εκτελέσουμε την εντολή `git mergetool`· θα ξεκινήσει το P4Merge για να μας επιτρέψει να επιλύσουμε τις συγκρούσεις μέσω αυτού του γραφικού εργαλείου.
331367
368+
<<<<<<< HEAD
332369
Το ωραίο με αυτήν τη ρύθυμιση wrapper είναι ότι μπορούμε να αλλάξουμε εύκολα τα εργαλεία diff και συγχώνευσης.
370+
=======
371+
Το ωραίο με αυτήν την ρύθυμιση wrapper είναι ότι μπορούμε να αλλάξουμε εύκολα τα εργαλεία diff και συγχώνευσης.
372+
>>>>>>> Resolved some pull conflicts
333373
Για παράδειγμα, για να αλλάξουμε τα εργαλεία `extDiff` και `extMerge` και να εκτελέσουμε το εργαλείο KDiff3, το μόνο που έχουμε να κάνουμε είναι να επεξεργαστούμε το αρχείο `extMerge`:
334374

335375
[source,console]
@@ -376,7 +416,11 @@ Some of the tools listed above only work in a windowed
376416
environment. If run in a terminal-only session, they will fail.
377417
----
378418

419+
<<<<<<< HEAD
379420
Αν δεν ενδιαφερόμαστε να χρησιμοποιήσουμε το KDiff3 για diff, αλλά θέλουμε να το χρησιμοποιήσουμε μόνο για επίλυση συγκρούσεων συγχώνευσης και η εντολή kdiff3 βρίσκεται στη διαδρομή μας, τότε μπορούμε να εκτελέσουμε
421+
=======
422+
Αν δεν ενδιαφερόμαστε να χρησιμοποιήσουμε το KDiff3 για diff αλλά θέλουμε να το χρησιμοποιήσουμε μόνο για επίλυση συγκρούσεων συγχώνευσης και η εντολή kdiff3 βρίσκεται στη διαδρομή μας, τότε μπορούμε να εκτελέσουμε
423+
>>>>>>> Resolved some pull conflicts
380424
381425
[source,console]
382426
----
@@ -428,11 +472,19 @@ $ git config --global core.autocrlf false
428472
===== `core.whitespace`
429473
430474
Το Git έρχεται προκαθορισμένο για να ανιχνεύσει και να διορθώνει κάποια κενά θέματα λευκών χαρακτήρων.
475+
<<<<<<< HEAD
431476
Μπορεί να αναζητήσει έξι κύρια κενά θέματα -- τρία είναι ενεργοποιημένα εκ προεπιλογής και μπορούν να απενεργοποιηθούν και τρία είναι απενεργοποιημένα εκ προεπιλογή, αλλά μπορούν να ενεργοποιηθούν.
432477
433478
Τα τρία που είναι ενεργοποιημένα από προεπιλογή είναι `blank-at-eol`, το οποίο αναζητά διαστήματα στο τέλος μιας γραμμής· `blank-at-eof`, το οποίο αναζητά κενές γραμμές στο τέλος ενός αρχείου· και `space-before-tab', το οποίο αναζητά κενά πριν από στηλοθέτες (tabs) τις καρτέλες στην αρχή μιας γραμμής.
434479
435480
Τα τρία που είναι απενεργοποιημένα εκ προεπιλογή, αλλά μπορούν να ενεργοποιηθούν είναι `indent-with-non-tab`, το οποίο αναζητά γραμμές που αρχίζουν με κενά αντί για στηλοθέτες (και ελέγχεται από την επιλογή `tabwidth`)· `tab-in-indent`, το οποίο ψάχνει για στηλοθέτες στην εσοχής μιας γραμμής· και `cr-at-eol`, που λέει στο Git ότι οι χαρακτήρες επαναφοράς φορέα στο τέλος των γραμμών είναι εντάξει.
481+
=======
482+
Μπορεί να αναζητήσει έξι κύρια κενά θέματα -- τρία είναι ενεργοποιημένα εκ προεπιλογής και μπορούν να απενεργοποιηθούν και τρία είναι απενεργοποιημένα εκ προεπιλογής αλλά μπορούν να ενεργοποιηθούν.
483+
484+
Τα τρία που είναι ενεργοποιημένα από προεπιλογή είναι `blank-at-eol`, το οποίο αναζητά διαστήματα στο τέλος μιας γραμμής· `blank-at-eof`, το οποίο αναζητά κενές γραμμές στο τέλος ενός αρχείου· και `space-before-tab', το οποίο αναζητά κενά πριν από στηλοθέτες (tabs) τις καρτέλες στην αρχή μιας γραμμής.
485+
486+
Τα τρία που είναι απενεργοποιημένα εκ προεπιλογής αλλά μπορούν να ενεργοποιηθούν είναι `indent-with-non-tab`, το οποίο αναζητά γραμμές που αρχίζουν με κενά αντί για στηλοθέτες (και ελέγχεται από την επιλογή `tabwidth`)· `tab-in-indent`, το οποίο ψάχνει για στηλοθέτες στην εσοχής μιας γραμμής· και `cr-at-eol`, που λέει στο Git ότι οι χαρακτήρες επαναφοράς φορέα στο τέλος των γραμμών είναι εντάξει.
487+
>>>>>>> Resolved some pull conflicts
436488

437489
Μπορούμε να πούμε στο Git ποια από αυτά θέλουμε να ενεργοποιήσουμε θέτοντας `core.whitespace` στις τιμές που θέλουμε ή όχι, χωρισμένες με κόμματα.
438490
Μπορούμε να απενεργοποιήσουμε τις ρυθμίσεις είτε αφήνοντας τις έξω από τη συμβολοσειρά ρυθμίσεων είτε προτάσσοντας ένα `-` μπροστά από την τιμή.
@@ -461,11 +513,19 @@ $ git apply --whitespace=fix <patch>
461513
----
462514

463515
Αυτές οι επιλογές ισχύουν και για την εντολή `git rebase`.
516+
<<<<<<< HEAD
464517
Αν έχουμε υποβάλει προβλήματα με λευκούς χαρακτήρε, αλλά δεν έχουμε προωθήσει ακόμα, μπορούμε να εκτελέσουμε την `git rebase --whitespace = fix` ώστε το Git να διορθώσει αυτόματα τα προβλήματα με τους λευκούς χαρακτήρες, καθώς ξαναγράφει τις επιδιορθώσεις κώδικα.
465518

466519
==== Ρυθμίσεις διακομιστή
467520

468521
Δεν υπάρχουν πολλές επιλογές διαμόρφωσης για την πλευρά του διακομιστή στο Git, αλλά υπάρχουν μερικές ενδιαφέρουσες που ενδεχομένως αξίζει να τις λάβουμε υπόψη.
522+
=======
523+
Αν έχουμε υποβάλει προβλήματα με λευκούς χαρακτήρες αλλά δεν έχουμε προωθήσει ακόμα, μπορούμε να εκτελέσουμε την `git rebase --whitespace = fix` ώστε το Git να διορθώσει αυτόματα τα προβλήματα με τους λευκούς χαρακτήρες, καθώς ξαναγράφει τις επιδιορθώσεις κώδικα.
524+
525+
==== Ρυθμίσεις διακομιστή
526+
527+
Δεν υπάρχουν πολλές επιλογές διαμόρφωσης για την πλευρά του διακομιστή στο Git αλλά υπάρχουν μερικές ενδιαφέρουσες που ενδεχομένως αξίζει να τις λάβουμε υπόψη.
528+
>>>>>>> Resolved some pull conflicts
469529
470530
===== `receive.fsckObjects`
471531
@@ -505,6 +565,10 @@ $ git config --system receive.denyNonFastForwards true
505565
$ git config --system receive.denyDeletes true
506566
----
507567
568+
<<<<<<< HEAD
508569
Αυτό αρνείται τη διαγραφή κλάδων ή ετικετών -- κανένας χρήστης δεν μπορεί να το κάνει.
570+
=======
571+
Αυτό αρνείται την διαγραφή κλάδων ή ετικετών -- κανένας χρήστης δεν μπορεί να το κάνει.
572+
>>>>>>> Resolved some pull conflicts
509573
Για να καταργήσουμε απομακρυσμένους κλάδους, πρέπει να αφαιρέσουμε τα αρχεία ref από τον διακομιστή με μη-αυτόματο τρόπο.
510574
Υπάρχουν επίσης πιο ενδιαφέροντες τρόποι για να το κάνουμε αυτό ανά χρήστη μέσω ACLs, όπως θα μάθουμε στο <<_an_example_git_enforced_policy>>.

0 commit comments

Comments
 (0)