Git Branches

1 λεπτά

Πίνακας περιεχομένων

  1. Γιατί οι κλάδοι;
  2. Κλάδοι σε δράση
  3. Merge έναντι rebase
  4. Απαραίτητες εντολές
  5. Συνιστώμενη ροή εργασίας

1. Γιατί οι κλάδοι;

Πρόβλημα χωρίς κλάδους:

  • Όλοι γράφουν κώδικα στο main
  • Ολικό χάος, μόνιμες συγκρούσεις
  • Σπασμένος κώδικας μόνιμα

Λύση: κλάδοι!

  • main = πάντα σταθερό
  • feature-login = αναπτύσσετε τη σύνδεση
  • feature-api = ο συνάδελφος αναπτύσσει το API
  • hotfix-bug = επείγουσα διόρθωση

Ο καθένας στη γωνιά του, merge όταν είναι έτοιμο!

Επιστροφή στον πίνακα περιεχομένων

2. Κλάδοι σε δράση

bash
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 αναπτύξεις συνδυάζονται!

Επιστροφή στον πίνακα περιεχομένων

3. Merge έναντι rebase

MERGE:

bash
git merge feature-branch    # Δημιουργεί ένα commit συγχώνευσης
  • Ιστορικό: δείχνει ότι 2 κλάδοι συνδυάστηκαν
  • Ασφαλές και απλό

REBASE:

bash
git rebase main             # "Μετακινεί" τα commits σας μετά το main
  • Ιστορικό: γραμμικό, καθαρό
  • Πιο σύνθετο

Σύσταση: ξεκινήστε με MERGE!

Επιστροφή στον πίνακα περιεχομένων

4. Απαραίτητες εντολές

ΕντολήΕνέργεια
git branchΛίστα κλάδων
git checkout -b <nom>Δημιουργία + μετάβαση στον κλάδο
git checkout <nom>Αλλαγή κλάδου
git merge <branche>Συγχώνευση ενός κλάδου
git branch -d <nom>Διαγραφή κλάδου
git push origin <nom>Αποστολή κλάδου

Επιστροφή στον πίνακα περιεχομένων

5. Συνιστώμενη ροή εργασίας

Απλή και αποτελεσματική ροή εργασίας:

  1. Νέα λειτουργία:

    bash
    git checkout main
    git pull
    git checkout -b feature-nouvelle-fonctionnalite
  2. Ανάπτυξη:

    bash
    # Κώδικας, κώδικας, κώδικας...
    git add .
    git commit -m "Feature terminée"
  3. Συγχώνευση:

    bash
    git checkout main
    git merge feature-nouvelle-fonctionnalite
    git branch -d feature-nouvelle-fonctionnalite  # Καθαρισμός

Αυτό είναι όλο! Κλάδοι = οργάνωση και καθαρότητα.

Επιστροφή στον πίνακα περιεχομένων