Moderators Kercyn Δημοσ. 16 Μαρτίου 2015 Moderators Δημοσ. 16 Μαρτίου 2015 Μπορείς να κάνεις merge το master μέσα στο dev branch σου (http://stackoverflow.com/questions/14168677/merge-development-branch-with-master). Στα λέω λακωνικά γιατί ούτε εγώ έχω μεγάλη εξοικείωση, πιο πολύ ξέρω τι μπορεί/πρέπει να γίνει παρά το πώς θα γίνει
gon1332 Δημοσ. 16 Μαρτίου 2015 Δημοσ. 16 Μαρτίου 2015 Μπορείς ΠΡΩΤΑ να κάνεις merge το master μέσα στο dev branch σου (http://stackoverflow.com/questions/14168677/merge-development-branch-with-master). Στα λέω λακωνικά γιατί ούτε εγώ έχω μεγάλη εξοικείωση, πιο πολύ ξέρω τι μπορεί/πρέπει να γίνει παρά το πώς θα γίνει ...ώστε οποιοδήποτε conflict επιλύσεις να είναι στο dev. Αν είσαι σίγουρος για την ορθότητα του αποτελεσματος στο dev, τότε πας στο master και από εκεί κάνεις το τελικό merge. Έτσι δεν πειράζεις τίποτα από το master και είναι full clean. Αν δε σε πειράζει κάτι τέτοιο, τότε πας από master και κάνεις merge το dev κατευθείαν.
AllCowsEatGrass Δημοσ. 16 Μαρτίου 2015 Δημοσ. 16 Μαρτίου 2015 On git branching...http://nvie.com/posts/a-successful-git-branching-model/ IJLTH.
defacer Δημοσ. 16 Μαρτίου 2015 Δημοσ. 16 Μαρτίου 2015 Πως "χωνουμε" ενα branch στο master? git checkout master git merge mybranch Έτσι δεν πειράζεις τίποτα από το master και είναι full clean. Αν δε σε πειράζει κάτι τέτοιο, τότε πας από master και κάνεις merge το dev κατευθείαν. Ο,τι και να πειράξεις μπορείς πάντα να κάνεις rollback, μέχρι τη στιγμή που θα κάνεις push κάπου τα πάντα είναι δωρεάν. Φυσικά αν θέλεις μπορείς να το κάνεις και αυτό, αλλά η επιλογή του "dev" σαν πρώτου merge target δεν είναι και η καλύτερη γιατί αν όλα πάνε καλά θα σου μείνει το merge να κάνει το commit history να φαίνεται πιο περίεργο. Καλύτερα νομίζω branching αβέρτα: git checkout dev git checkout -b merge-target git merge master κλπ 1
imitheos Δημοσ. 16 Μαρτίου 2015 Δημοσ. 16 Μαρτίου 2015 Στη παρούσα περίπτωση που μιλάμε για κάποιο απλό repo, τότε μπορείς φυσικά να κάνεις merge το master στο development όπως προτείνουν στο SO, αλλά γενικά δεν μου αρέσει. Για να δοθεί μια δόκιμη απάντηση θα πρέπει να είναι γνωστό τι πραγματεύεται το master και τι αυτό που θα "χώσεις" στο master. Δεν μπορεί σε όλες τις περιπτώσεις να γίνει merge το master στο Χ branch. Για να μη πάω το νήμα αλλού ας απαντήσω απλά την ερώτηση. % git checkout master % git merge other_branch Μεταφερόμαστε πρώτα στο master και κάνουμε έπειτα merge το branch που θέλουμε. Αν πάει κάτι στραβά, μπορούμε να τρέξουμε "git merge --abort" αν δεν έχει ολοκληρωθεί το merge ή να χρησιμοποιήσουμε το reflog για να αναιρέσουμε το merge. Μία λύση για την περίπτωση που θέλουμε να δοκιμάσουμε αν θα υπάρξουν conflicts που παίζει πάντα είναι το scratch branch. % git checkout master % git checkout -b scratch % git merge other_branch Επίλυση conflicts, έλεγχος του αποτελέσματος % git checkout master % git br -D scratch Δημιουργούμε ένα branch το οποίο είναι ολόιδιο με το master και κάνουμε εκεί merge το branch μας. Στο τέλος το σβήνουμε και όλα οκ. 1
παπι Δημοσ. 16 Μαρτίου 2015 Μέλος Δημοσ. 16 Μαρτίου 2015 Δεν ξερω τι λετε, εγω πηγα στο github πηγα στο branch πατησα pull request πηγα στο master πατησα κατι
imitheos Δημοσ. 16 Μαρτίου 2015 Δημοσ. 16 Μαρτίου 2015 Δεν ξερω τι λετε, εγω πηγα στο github πηγα στο branch πατησα pull request πηγα στο master πατησα κατι Ωραία. Αυτό που περιγράψαμε έκανες απλά το έκανες από το γραφικό του Github. Έκανες στο branch την pull request και την έκανες accept από το master. % git log --oneline --graph --all * b3ded67 removing defaults (chart area) * 0f40f58 RSI Added +some fix * daa6b0d Merge pull request #1 from AnonymoPapaki/TestNewLogic |\ | | * 0463319 jhgjhgj | |/ | * eb59116 data buffer edited, datamanipulator added | * 2b0f0c9 lifting | * f693ae8 axis fixed | * 777629b moving buffer chartarea -> chart | * be4b174 FocusLast Added | * 3b600b8 new logic |/ * 9bcd65b syncx axis across chart area * 0b31ad0 Series auto focus * c8c2fd1 On resize, change only top chartarea Αυτή είναι η κατάσταση του repo σου τώρα. Έκανες merge την pull request και έτσι το περιεχόμενο των commits 3b600b8 μέχρι eb59116 υπάρχει πλέον στο master. Έπειτα έγραψες δύο ακόμη commits στο master και επίσης έγραψες ένα commit στο branch σου (το jhgjhgj) αφότου έκανες την pull request. Αυτό δεν υπάρχει στο master.
παπι Δημοσ. 17 Μαρτίου 2015 Μέλος Δημοσ. 17 Μαρτίου 2015 Το jhgkgkjg το εκανα επειδή δεν μπορουσα να πάω sto master απο το visual studio. Btw είναι safe να κάνω delete το branch? (Όχι το master, το άλλο)
imitheos Δημοσ. 17 Μαρτίου 2015 Δημοσ. 17 Μαρτίου 2015 Το jhgkgkjg το εκανα επειδή δεν μπορουσα να πάω sto master απο το visual studio. Btw είναι safe να κάνω delete το branch? (Όχι το master, το άλλο) Λογικά θα σου εμφανίσει μήνυμα ότι το branch δεν είναι merged (λόγω του ξέμπαρκου jhg..) αλλά εφόσον δεν σε ενδιαφέρει εκείνο το commit, μπορείς να το σβήσεις άφοβα.
gon1332 Δημοσ. 28 Μαρτίου 2015 Δημοσ. 28 Μαρτίου 2015 ...Μία λύση για την περίπτωση που θέλουμε να δοκιμάσουμε αν θα υπάρξουν conflicts που παίζει πάντα είναι το scratch branch. % git checkout master % git checkout -b scratch % git merge other_branch Επίλυση conflicts, έλεγχος του αποτελέσματος % git checkout master % git br -D scratch Δημιουργούμε ένα branch το οποίο είναι ολόιδιο με το master και κάνουμε εκεί merge το branch μας. Στο τέλος το σβήνουμε και όλα οκ. Μήπως ξέχασες στο τέλος, πριν τη διαγραφή του scratch, το merge με το master;
imitheos Δημοσ. 28 Μαρτίου 2015 Δημοσ. 28 Μαρτίου 2015 Μήπως ξέχασες στο τέλος, πριν τη διαγραφή του scratch, το merge με το master; Αυτό το κομμάτι που έδειξα ήτανε πώς να κάνεις ένα προσωρινό branch ώστε να ελέγξεις το αποτέλεσμα για όποιον φοβάται να το κάνει κατευθείαν στο master. Αν σου αρέσει το αποτέλεσμα εννοείται πως θα κάνεις merge στο master. 1
gon1332 Δημοσ. 28 Μαρτίου 2015 Δημοσ. 28 Μαρτίου 2015 Αυτό το κομμάτι που έδειξα ήτανε πώς να κάνεις ένα προσωρινό branch ώστε να ελέγξεις το αποτέλεσμα για όποιον φοβάται να το κάνει κατευθείαν στο master. Αν σου αρέσει το αποτέλεσμα εννοείται πως θα κάνεις merge στο master. Πάντως καλή φάση αυτό το κολπάκι. Είχε τύχει σε project που είχαμε με άλλα 4 άτομα να γίνεται Ο χαμός από τα conflicts. Και άντε να κά- νουμε με το σταυρό στο χέρι merging στο master. Το 50% των περιπ- τώσεων κατέληγε σε αποτυχημένες προσπάθειες. Αρχίζω και το υιοθε- τώ και νιώθω σα να έχει φύγει ένα βάρος από πάνω μου.
pmav99 Δημοσ. 28 Μαρτίου 2015 Δημοσ. 28 Μαρτίου 2015 Το 50% των περιπτώσεων κατέληγε σε αποτυχημένες προσπάθειες. Για περιπτωσεις σαν και αυτη θελει καλα tests. 1
Προτεινόμενες αναρτήσεις
Δημιουργήστε ένα λογαριασμό ή συνδεθείτε για να σχολιάσετε
Πρέπει να είστε μέλος για να αφήσετε σχόλιο
Δημιουργία λογαριασμού
Εγγραφείτε με νέο λογαριασμό στην κοινότητα μας. Είναι πανεύκολο!
Δημιουργία νέου λογαριασμούΣύνδεση
Έχετε ήδη λογαριασμό; Συνδεθείτε εδώ.
Συνδεθείτε τώρα