Προς το περιεχόμενο

Προτεινόμενες αναρτήσεις

Δημοσ.

Πάντως καλή φάση αυτό το κολπάκι. Είχε τύχει σε project που είχαμε

με άλλα 4 άτομα να γίνεται Ο χαμός από τα conflicts. Και άντε να κά-

νουμε με το σταυρό στο χέρι merging στο master. Το 50% των περιπ-

τώσεων κατέληγε σε αποτυχημένες προσπάθειες. Αρχίζω και το υιοθε-

τώ και νιώθω σα να έχει φύγει ένα βάρος από πάνω μου.

Τότε να υιοθετήσεις και το rerere και θα φύγει ακόμη ένα βάρος από πάνω σου :)

  • Like 1
Δημοσ.

Για περιπτωσεις σαν και αυτη θελει καλα tests.

Συμφωνώ! Και επίσης ελεγχόμενα και λογικά commits. Μαζεύω XP σιγά σιγά. :P

Τότε να υιοθετήσεις και το rerere και θα φύγει ακόμη ένα βάρος από πάνω σου :)

Ώπα! Άλλο τούτο. Δεν το ήξερα. Θα το κοιτάξω και αυτό.

Δημοσ.

Ώπα! Άλλο τούτο. Δεν το ήξερα. Θα το κοιτάξω και αυτό.

Τώρα σκέφτηκα αυτό που έγραψες "πριν την διαγραφή". Εννοείς ότι θα κάνεις merge στο master το scratch για αυτό είπες πριν την διαγραφή ?

 

Αυτό είναι μια κοινή τακτική ώστε να μην ξαναλύνεις τα conflicts δεύτερη φορά. Έτσι όμως φαίνεται στην ιστορία το scratch που δεν είναι και τόσο όμορφο.

 

Εγώ διαγράφω πάντα το scratch και ξανακάνω merge το αρχικό μου branch για αυτό δεν μου πήγε το μυαλό όταν διάβασα το "πριν την διαγραφή". Το rerere είναι τα αρχικά replay recorded resolution ή κάτι παρεμφερές. Δηλαδή όταν πας να κάνεις merge και υπάρχουν διενέξεις, το git αποθηκεύει τα αρχεία όπως ήταν πριν και όπως έγιναν μετά αφού έλυσες τις διενέξεις οπότε έτσι έχει ένα "diff" με τον τρόπο που έλυσες την διένεξη.

 

Με αυτό τον τρόπο όταν πας να κάνεις merge το αρχικό branch και προκύψει η ίδια διένεξη, το git θα την λύσει αυτόματα χωρίς να πρήζεσαι εσύ.

Δημοσ.

Τώρα σκέφτηκα αυτό που έγραψες "πριν την διαγραφή". Εννοείς ότι θα κάνεις merge στο master το scratch για αυτό είπες πριν την διαγραφή ?

 

Αυτό είναι μια κοινή τακτική ώστε να μην ξαναλύνεις τα conflicts δεύτερη φορά. Έτσι όμως φαίνεται στην ιστορία το scratch που δεν είναι και τόσο όμορφο.

Ναι ακριβώς αυτό εννοούσα. Στη λογική του post του defacer.

 

Εσύ στο post σου αυτό που έγραψες το έγραψες έχοντας στο μυαλό σου κάτι σαν το rerere;

Διαφορετικά γιατί να επιλύσεις δεύτερη φορά τα merges αν δούλεψαν καλά στο scratch, όπως

κατάλαβα πως είπες ("Εγώ διαγράφω πάντα το scratch και ξανακάνω merge το αρχικό μου branch...") ;

 

 

Οταν ανέβεις level, κάνε dual class σε μάγο :P

Spellsinger!

Δημοσ.

Οταν ανέβεις level, κάνε dual class σε μάγο :P

Spellsinger!

Multiclass δεν λέγεται στις τωρινές εκδόσεις ? Εκεί που βλέπεις ένα χαρακτήρα με κλάσεις ταυτόχρονα Rogue / Paladin / Shadowdancer / Barbarian / Sorcerer / τάδε Prestige Class :P

 

Παρεμπιπτόντως αυτή τη στιγμή παίζω BG2 (ADnD 2e) με Archer Ranger :)

 

Εσύ στο post σου αυτό που έγραψες το έγραψες έχοντας στο μυαλό σου κάτι σαν το rerere;

Διαφορετικά γιατί να επιλύσεις δεύτερη φορά τα merges αν δούλεψαν καλά στο scratch, όπως

κατάλαβα πως είπες ("Εγώ διαγράφω πάντα το scratch και ξανακάνω merge το αρχικό μου branch...") ;

Αυτό που είχα στο μυαλό μου όταν το έγραψα ήταν ότι το scratch θα έκανε μόνο ακριβώς αυτό που λέει το όνομά του δηλαδή μόνο για τη δοκιμή και μετά να διαγραφεί. Έπειτα ο dev θα έκανε checkout το master και εκεί θα έκανε merge το κανονικό του branch οπότε όποια διένεξη εμφανιζόταν στο scratch θα εμφανιστεί και πάλι και χωρίς rerere θα πρέπει να ξανά-επιλυθεί.

  • Like 1
Δημοσ.

Multiclass δεν λέγεται στις τωρινές εκδόσεις ? Εκεί που βλέπεις ένα χαρακτήρα με κλάσεις ταυτόχρονα Rogue / Paladin / Shadowdancer / Barbarian / Sorcerer / τάδε Prestige Class :P

 

Παρεμπιπτόντως αυτή τη στιγμή παίζω BG2 (ADnD 2e) με Archer Ranger :)

Ναι έτσι λέγεται. Το Spellsinger είναι άκυρο. Μεταγενέστερη κλάση μάγου στο Lineage.

Μία φορά πήγα να ξεκινήσω BG και αποφάσισα μετά από λίγη ώρα πως δεν είναι για

μένα. Το Divinity ΙΙ για μένα ήταν παιχνιδάρα. Και παίζει να είναι και το Original Sin. Εί-

χα ξεκινήσει και τα Torchlight για πιο ανάλαφρη μορφή διασκέδασης. Αλλά τελικά κα-

τέληξα στις παλιές αγάπες του CS.

 

 

Αυτό που είχα στο μυαλό μου όταν το έγραψα ήταν ότι το scratch θα έκανε μόνο ακριβώς αυτό που λέει το όνομά του δηλαδή μόνο για τη δοκιμή και μετά να διαγραφεί. Έπειτα ο dev θα έκανε checkout το master και εκεί θα έκανε merge το κανονικό του branch οπότε όποια διένεξη εμφανιζόταν στο scratch θα εμφανιστεί και πάλι και χωρίς rerere θα πρέπει να ξανά-επιλυθεί.

Αχα. Απλά δεν κατάλαβα γιατί να γίνει κάτι τέτοιο (χωρίς rerere). Διπλή δουλειά για τα ίδια ακριβώς

ήδη επιλυμένα conflicts. Και αν είναι πολλά; Δεν είναι μαρτύριο; Άνθρωποι είμαστε, λάθη γίνονται.

Δημοσ.

Αχα. Απλά δεν κατάλαβα γιατί να γίνει κάτι τέτοιο (χωρίς rerere). Διπλή δουλειά για τα ίδια ακριβώς

ήδη επιλυμένα conflicts. Και αν είναι πολλά; Δεν είναι μαρτύριο; Άνθρωποι είμαστε, λάθη γίνονται.

Τυπικά υπάρχει λόγος ώστε να μην γίνεται δυσνόητη και άσχημη η ιστορία (αντί να φαίνεται ένα απλό merge commit που να λέει "Merge branch 'my-feature-branch' into master" οπότε να καταλαβαίνεις αμέσως τι γίνεται, θα φαίνεται στο master ένα commit με τίτλο "Merge branch 'my-feature-branch' into scratch".

 

Δεν μπορώ να στο δώσω να το καταλάβεις γιατί είναι απλό το παράδειγμα. Μην ξεχνάς ότι με ένα merge μπορείς να περάσεις πολλαπλά branches οπότε να πολύ εύκολα να γίνει μπερδευτική η κατάσταση (Octopus merge ftw). Θα κοιτάξω να βρω ένα τέτοιο merge commit σε κάποιο πολύπλοκο project ώστε να δεις ότι είναι μπερδευτικό.

 

Πρακτικά μιλώντας τότε όντως δεν υπάρχει λόγος να το κάνεις δύο φορές (ειδικά για project του μεγέθους που μιλάμε στο παρόν νήμα).

Δημιουργήστε ένα λογαριασμό ή συνδεθείτε για να σχολιάσετε

Πρέπει να είστε μέλος για να αφήσετε σχόλιο

Δημιουργία λογαριασμού

Εγγραφείτε με νέο λογαριασμό στην κοινότητα μας. Είναι πανεύκολο!

Δημιουργία νέου λογαριασμού

Σύνδεση

Έχετε ήδη λογαριασμό; Συνδεθείτε εδώ.

Συνδεθείτε τώρα
  • Δημιουργία νέου...