Σχετικά
Το git-flow είναι ένα σύνολο από επεκτάσεις για το git που παρέχουν υψηλού επιπέδου λειτουργίες σε εν- αποθετήρια για το μοντέλο διακλαδώσεων του Vincent Driessen. περισσότερα
★ ★ ★
Αυτό το φύλλο αναφοράς, παρουσιάζει την βασική χρήση και τα αποτελέσματα των λειτουργιών του git-flow
★ ★ ★
Βασικές συμβουλές
- Το Git flow παρέχει εξαιρετική βοήθεια στην γραμμή εντολών και στην έξοδο. Διαβάστε προσεκτικά για να δείτε τι συμβαίνει...
- Το τερματικό Sourcetree για OSX/Windows είναι ένα εξαιρετικό γραφικό περιβάλλων εργασίας για git και παρέχει υποστήριξη για το git-flow
- Το Git-flow είναι μια λύση βασισμένη στη συγχώνευση (merge). Δεν αναπροσαρμόζει διακλαδώσεις χαρακτηριστικών.
★ ★ ★
Εγκατάσταση
- Είναι προϋπόθεση να έχετε ήδη εγκατεστημένο το git στον υπολογιστή σας.
- Το Git flow λειτουργεί σε OSX, Linux και Windows
★ ★ ★
OSX
Homebrew$ brew install git-flowMacports
$ port install git-flow
Linux
$ apt-get install git-flow
Windows (Cygwin)
$ wget -q -O - --no-check-certificate https://github.com/nvie/gitflow/raw/develop/contrib/gitflow-installer.sh | bash
Χρειάζεστε το wget και το util-linux για να εγκαταστήσετε το git-flow.
Για αναλυτικές οδηγίες εγκατάστασης του git flow παρακαλώ επισκεφτείτε το git flow wiki.
Αρχίζοντας
Το Git flow πρέπει να προετοιμαστεί, ώστε να προσαρμόσετε τις ρυθμίσεις του έργου σας.
★ ★ ★
Προετοιμασία
Αρχίστε να χρησιμοποιείτε το git-flow προετοιμάζοντας το, μέσα σε ένα git εν-αποθετήριο (git repository):
git flow init
Θα πρέπει να απαντήσετε μερικές ερωτήσεις σχετικά με τους κανόνες ονοματοδοσίας για τις διακλαδώσεις.
Συνιστάται η χρήση των τιμών που προτείνονται.
Χαρακτηριστικά
- Δημιουργήστε νέα χαρακτηριστικά για επερχόμενες εκδόσεις
- Τυπικά υπάρχει μόνο στα εν-αποθετήρια των προγραμματιστών
★ ★ ★
Αρχίστε ένα νέο χαρακτηριστικό
Η δημιουργία ενός νέου χαρακτηριστικού αρχίζει (δημιουργείται) από την διακλάδωση 'develop'
Αρχίστε την δημιουργία νέου χαρακτηριστικού με την εντολή
git flow feature start MYFEATURE
Αυτή η ενέργεια δημιουργεί μια νέα διακλάδωση για νέο χαρακτηριστικό βασισμένη στην διακλάδωση 'develop' και μεταπήδηση στην νέα διακλάδωση
Ολοκληρώστε την δημιουργία ενός νέου χαρακτηριστικού.
Αυτή η ενέργεια κάνει τα ακόλουθα
- Συγχωνεύει το MYFEATURE στο 'develop'
- Αφαιρεί την διακλάδωση που δημιουργήθηκε για το νέο χαρακτηριστικό
- Μεταπηδά ξανά στην διακλάδωση 'develop'
git flow feature finish MYFEATURE
Δημοσιεύστε ένα χαρακτηριστικό
Αναπτύσσετε ένα χαρακτηριστικό της εφαρμογής σας σε συνεργασία με άλλους προγραμματιστές;
Δημοσιεύστε το χαρακτηριστικό σας στον απομακρυσμένο server, ώστε να μπορούν οι άλλοι προγραμματιστές να το χρησιμοποιήσουν.
git flow feature publish MYFEATURE
Πάρτε ένα δημοσιευμένο χαρακτηριστικό
Πάρτε ένα δημοσιευμένο χαρακτηριστικό από τον απομακρυσμένο server που το δημοσίευσε κάποιος άλλος προγραμματιστής.
git flow feature pull origin MYFEATURE
Μπορείτε να παρακολουθείτε ένα χαρακτηριστικό στον απομακρυσμένο server (origin) χρησιμοποιώντας την εντολή git flow feature track MYFEATURE
Δημιουργήστε μια νέα έκδοση
- Υποστηρίζει την προετοιμασία μια έκδοσης για παραγωγή
- Επιτρέπει μικρής σημασίας επιδιορθώσεις σφαλμάτων και προετοιμάζει τα μέτα-δεδομένα για την έκδοση
★ ★ ★
Αρχίστε μια έκδοση
Για να αρχίσετε μια νέα έκδοση, χρησιμοποιήστε την εντολή του git flow, release. Η εντολή αυτή δημιουργεί μια νέα διακλάδωση, από την διακλάδωση 'develop'
git flow release start RELEASE [BASE]
Μπορείτε προαιρετικά να εισάγετε ως [BASE]
το sha-1 hash ενός commit για να αρχίσετε την νέα έκδοση το συγκεκριμένο commit. Το commit
πρέπει να είναι στην διακλάδωση 'develop'.
★ ★ ★
Είναι καλό να δημοσιεύσετε την διακλάδωση έκδοσης, μετά την δημιουργία της, ώστε να επιτρέψετε commits έκδοσης από άλλους προγραμματιστές. Μπορείτε να το κάνετε αυτό, με τον ίδιο τρόπο που δημοσιεύεται τα νέα χαρακτηριστικά, με την εντολή:
git flow release publish RELEASE
(Μπορείτε να παρακολουθείτε απομακρυσμένες εκδόσεις με την εντολή git flow release track RELEASE
)
Ολοκληρώνοντας μια νέα έκδοση
Η ολοκλήρωση μιας νέας έκδοσης είναι ένα από τα μεγάλα βήματα στις διακλαδώσεις του git γιατί γίνονται πολλές ενέργειες μαζί:
- Συγχωνεύει την διακλάδωση της έκδοσης με την διακλάδωση 'master'
- Βάζει την ετικέτα στην έκδοση με το όνομα της
- Συγχωνεύει την έκδοση με την διακλάδωση 'develop'
- Διαγράψει την διακλάδωση της έκδοσης
git flow release finish RELEASE
Μην ξεχάσετε να σπρώξετε τις ετικέτες σας με την εντολή git push --tags
Άμεσες επιδιορθώσεις (Hotfixes)
- Οι άμεσες επιδιορθώσεις προκύπτουν από την ανάγκη της άμεσης επέμβασης σε μια ανεπιθύμητη κατάσταση της τρέχουσας έκδοσης στο λογισμικό παραγωγής.
- Μπορεί η νέα διακλάδωση να δημιουργηθεί από την αντίστοιχη ετικέτα στην κεντρική (master) διακλάδωση που χαρακτηρίζει την έκδοση παραγωγής.
★ ★ ★
git flow hotfix start
Όπως και οι άλλες εντολές του git flow, μία άμεση επιδιόρθωση αρχίζει με
git flow hotfix start VERSION [BASENAME]
Η επιλογή VERSION, χαρακτηρίζει το όνομα της νέας άμεσης επιδιόρθωσης. Προαιρετικά μπορείτε να ορίσετε ένα όνομα βάσης για να αρχίσετε από εκεί.
Ολοκληρώνοντας μία άμεση επιδιόρθωση
Με την ολοκλήρωση μιας άμεσης επιδιόρθωσης, η διακλάδωση συγχωνεύεται με την διακλάδωση develop και master. Επιπλέον η κεντρική διακλάδωση (master) αποκτά την ετικέτα του ονόματος της άμεσης επιδιόρθωσης.
git flow hotfix finish VERSION
Σημειώσεις
★ ★ ★
- Εδώ δεν καλύπτονται όλες οι διαθέσιμες εντολές, αλλά μόνο οι πιο σημαντικές
- Μπορείτε να συνεχίσετε την χρήση του git και όλες τις εντολές του κανονικά όπως τις γνωρίζετε, το git flow είναι απλά μια συλλογή με εργαλεία.
- Το χαρακτηριστικό 'support' είναι ακόμα σε κατάσταση beta, δεν σας συμβουλεύουμε να το χρησιμοποιήσετε
- Αν σας αρέσει να παρέχετε μεταφράσεις, θα είναι χαρά μου να τις ενσωματώσω
★ ★ ★