Πρόβλημα χωρίς κλάδους:
mainΛύση: κλάδοι!
main = πάντα σταθερόfeature-login = αναπτύσσετε τη σύνδεσηfeature-api = ο συνάδελφος αναπτύσσει το APIhotfix-bug = επείγουσα διόρθωσηΟ καθένας στη γωνιά του, merge όταν είναι έτοιμο!
mkdir demo-branches && cd demo-branches
git init
# Βάση εκκίνησης
echo "print('App v1.0')" > app.py
git add . && git commit -m "Version initiale"
# Δημιουργία και μετάβαση σε νέο κλάδο
git checkout -b feature-login
echo "print('Login system')" > login.py
git add . && git commit -m "Add login"
# Επιστροφή στο main
git checkout main
echo "print('App v1.1')" > app.py
git add . && git commit -m "Update main"
# Προβολή όλων των κλάδων
git branch --all
# Συγχώνευση της λειτουργίας
git merge feature-loginΑποτέλεσμα: οι 2 αναπτύξεις συνδυάζονται!
MERGE:
git merge feature-branch # Δημιουργεί ένα commit συγχώνευσηςREBASE:
git rebase main # "Μετακινεί" τα commits σας μετά το mainΣύσταση: ξεκινήστε με MERGE!
| Εντολή | Ενέργεια |
|---|---|
git branch | Λίστα κλάδων |
git checkout -b <nom> | Δημιουργία + μετάβαση στον κλάδο |
git checkout <nom> | Αλλαγή κλάδου |
git merge <branche> | Συγχώνευση ενός κλάδου |
git branch -d <nom> | Διαγραφή κλάδου |
git push origin <nom> | Αποστολή κλάδου |
Απλή και αποτελεσματική ροή εργασίας:
Νέα λειτουργία:
git checkout main
git pull
git checkout -b feature-nouvelle-fonctionnaliteΑνάπτυξη:
# Κώδικας, κώδικας, κώδικας...
git add .
git commit -m "Feature terminée"Συγχώνευση:
git checkout main
git merge feature-nouvelle-fonctionnalite
git branch -d feature-nouvelle-fonctionnalite # ΚαθαρισμόςΑυτό είναι όλο! Κλάδοι = οργάνωση και καθαρότητα.