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

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

Δημοσ.

ρε συ ημιθεε να σε ρωτησω γιατι μπλεκουν τα πραγματα με παραπανω απο ενα remotes

το fetch τα φερνει ολα?

εστω στο fork

εχω το δικο μου το remote και το upstream

στο δικο μου κανω ενα branch και δουλευω εκει

μετα κανω fetch, checkout στο master, merge με το upstream/master και rebase το δικο μου

  • Απαντ. 39
  • Δημ.
  • Τελ. απάντηση

Συχνή συμμετοχή στο θέμα

Συχνή συμμετοχή στο θέμα

Δημοσ.

ρε συ ημιθεε να σε ρωτησω γιατι μπλεκουν τα πραγματα με παραπανω απο ενα remotes

το fetch τα φερνει ολα?

Αν θυμάμαι καλά, οι εντολές fetch, pull, push όταν δεν έχουν όρισμα για το remote, τότε δουλεύουν με το origin. Παλαιότερα, ο μόνος τρόπος να φέρεις όλα τα remotes ήταν με την εντολή git remote update. Εδώ και κάμποσο καιρό όμως υπάρχει όμως η παράμετρος --all που κάνει την fetch να τα φέρνει όλα.

 

εστω στο fork

εχω το δικο μου το remote και το upstream

στο δικο μου κανω ενα branch και δουλευω εκει

μετα κανω fetch, checkout στο master, merge με το upstream/master και rebase το δικο μου

Σε αυτή τη περίπτωση πάλι ένα remote δεν έχεις ουσιαστικά για fetch (το upstream) ? Το fork σου μόνο για push δεν θα χρησιμοποιείται ?

Δημοσ.

στην ουσια ναι

τα εχω μπλεξει με το pull και τα remote tracking branches που κανει αυτοματα και εχω χασει τη μπαλα

μολις παω στο pc θα στειλω να σου δειξω τι εννοω

Δημοσ.

Επειδή αναφέρθηκε το git flow, ΙΜΟ εδώ είναι η τέλεια εξήγηση του πώς και γιατί. Για μια αναφορά σε εναλλακτικά μοντέλα (αλλά και στο git flow) υπάρχει αυτό το κείμενο της Atlassian.

 

Με την ευκαιρία που είπα Atlassian:

  1. Αν για κάποιο λόγο (που πραγματικά δεν τον βλέπω) χαλιέται κάποιος που δεν είναι private το GitHub εκτός αν πληρώσεις, υπάρχει και το BitBucket που είναι.
  2. Αν θέλετε δωρεάν γραφικό client για git/hg/svn σε Windows ή Mac, πάρε κόσμε SourceTree (είναι πραγματικά πολύ καλό). No Linux version δυστυχώς.

Για το dropbox που αναφέρθηκε νωρίτερα, φαντάζομαι ότι θα δουλέψει μια χαρά και απλά τοπικά git σε directory που γίνεται sync στο dropbox, αλλά αυτή η λύση α) προσφέρει μόνο backup και όχι συνεργασία και β) δεν έχει κανένα πλεονέκτημα πέραν του ότι γίνεται χωρίς να μάθεις πώς δουλεύει το push/pull.

Δημοσ.

bm002.png

 

από το link του defacer το πρώτο

όταν κάνεις merge το develop στο master σου παίρνει και όλα τα προηγούμενα commits έτσι? στο σχήμα είναι έτσι για ευκολία σωστά?

Δημοσ.

bm002.png

 

από το link του defacer το πρώτο

όταν κάνεις merge το develop στο master σου παίρνει και όλα τα προηγούμενα commits έτσι? στο σχήμα είναι έτσι για ευκολία σωστά?

Μα και στο σχήμα αυτό δεν δείχνει ? Το merge ξεκινάει από την "merge base" (σε απλές περιπτώσεις από το προηγούμενο merge) και ενσωματώνει όλα τα νέα commits οπότε φυσικά περιέχονται και τα προηγούμενα.

 

Το πρώτο μπλε κυκλάκι είναι η εκκίνηση. Σε αυτό το σημείο δημιουργείται το branch develop και έχει ακριβώς τα ίδια περιεχόμενα με το master. Αρχίζει η δουλειά και δημιουργούμε 4 commits (κίτρινα κυκλάκια) στο develop.

 

Το επόμενο μπλε κυκλάκι είναι το πρώτο merge και ενσωματώνει στο master ό,τι δεν υπάρχει ήδη (ξεκινώντας από την κοινή αρχή τους) δηλαδή τα 4 πρώτα κίτρινα κυκλάκια.

 

Το επόμενο μπλε κυκλάκι είναι το επόμενο merge. Αυτό ψάχνει και βλέπει ποια είναι η βάση του master και του develop και βλέπει ότι είναι το 4ο κίτρινο κυκλάκι. Οπότε θα ενσωματώσει 2 κίτρινα κυκλάκια στο master. Τα αρχικά 4 κίτρινα κυκλάκια υπάρχουν ήδη στο master λόγω του προηγούμενου merge.

Δημοσ.

Αν σε μπερδεύει η gitflow, υπάρχει μια παραπλήσια μέθοδος που χρησιμοποιείται από πολύ κόσμο (συμπεριλαμβανομένου και του github) και είναι λίγο πιο εύκολη. Η ιδέα ότι το master πρέπει να είναι πάντα stable και ποτέ να μην αποτυγχάνει το build παραμένει αλλά παρακάμπτεται το develop και δουλεύει με το master. Δημιουργείς features branches για κάθε δουλειά που θέλεις και όταν αυτά ωριμάσουν και πάρουν οκ από άλλους devs, τότε τα κάνεις merge στο master.

 

Ακριβώς το ίδιο σκεπτικό και πλεονεκτήματα με το gitflow χωρίς απλά το branch develop (για μικρά project με ομάδες < 20 ατόμων δεν προσφέρει και πολλά το ξεχωριστό branch develop).

Δημοσ.

δεν με μπερδεύει, απλά είχα κολλήσει με την εικόνα και το σκεφτόμουνα λάθος, σαν να μην κρατάει history το master

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

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

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

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

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

Σύνδεση

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

Συνδεθείτε τώρα

  • Δημιουργία νέου...