Git Sync με GitHub

1 λεπτά

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

  1. Συγχρονισμός τοπικού ↔ GitHub
  2. Γρήγορη ρύθμιση
  3. Ροή εργασίας push/pull
  4. Διαχείριση συγκρούσεων
  5. Απαραίτητες εντολές

1. Συγχρονισμός τοπικού ↔ GitHub

Στόχος: Να κρατάτε τον τοπικό σας κώδικα συγχρονισμένο με το GitHub.

Το πρόβλημα:

  • Γράφετε κώδικα τοπικά
  • Η ομάδα τροποποιεί στο GitHub
  • Πώς μένετε ενημερωμένοι;

Η λύση: Push (εσείς → GitHub) και Pull (GitHub → εσείς)

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

2. Γρήγορη ρύθμιση

bash
mkdir demo-github-sync && cd demo-github-sync
git init

echo "print('v1')" > app.py
echo "# Demo GitHub Sync" > README.md
git add . && git commit -m "Initial commit"

# Σύνδεση με το GitHub (αντικαταστήστε με το αποθετήριό σας)
git remote add origin https://github.com/ton-username/demo-repo.git

# Πρώτο push
git push -u origin main

Αυτό είναι όλο! Ο κώδικάς σας είναι στο GitHub.

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

3. Ροή εργασίας push/pull

Τυπικό σενάριο:

Push: εσείς → GitHub

bash
# Τροποποιείτε τοπικά
echo "print('v2 updated')" > app.py
git add . && git commit -m "Update to v2"

# Αποστολή στο GitHub
git push origin main

Pull: GitHub → εσείς

bash
# Ανάκτηση των αλλαγών της ομάδας
git pull origin main

# Ή σε 2 βήματα:
git fetch origin    # Λήψη χωρίς συγχώνευση
git merge origin/main    # Συγχώνευση στη συνέχεια

Καθημερινή ροή εργασίας

bash
# Πρωί: ανάκτηση της εργασίας της ομάδας
git pull

# Ημέρα: αναπτύσσετε
echo "print('new feature')" >> app.py
git add . && git commit -m "Add feature"

# Βράδυ: αποστολή της εργασίας σας
git push

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

4. Διαχείριση συγκρούσεων

Σύγκρουση = εσείς και ένας συνάδελφος τροποποιείτε την ίδια γραμμή.

Προσομοίωση σύγκρουσης:

bash
# Ο συνάδελφός σας τροποποίησε το app.py στο GitHub
# Εσείς επίσης τοπικά
echo "print('my version')" > app.py
git add . && git commit -m "My changes"

git pull    # ΣΥΓΚΡΟΥΣΗ!

Επίλυση:

bash
# Το Git σας δείχνει τη σύγκρουση στο app.py:
# <<<<<<< HEAD
# print('my version')
# =======
# print('colleague version')  
# >>>>>>> abc123

# Επεξεργαστείτε το αρχείο για να κρατήσετε ό,τι θέλετε:
echo "print('merged version')" > app.py

# Ολοκλήρωση της επίλυσης:
git add app.py
git commit -m "Resolve conflict"
git push

Η σύγκρουση επιλύθηκε! Η ομάδα ανακτά τη συγχωνευμένη έκδοσή σας.

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

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

ΕντολήΕνέργεια
git clone <url>Αντιγραφή αποθετηρίου GitHub
git remote add origin <url>Σύνδεση με το GitHub
git push -u origin mainΠρώτο push (με παρακολούθηση)
git pushΑποστολή των commits σας
git pullΑνάκτηση + συγχώνευση
git fetchΑνάκτηση χωρίς συγχώνευση
git statusΠροβολή κατάστασης συγχρονισμού

Βασική ροή εργασίας:

  1. git pull (ανάκτηση)
  2. Ανάπτυξη + git add + git commit
  3. git push (κοινοποίηση)
  4. Επανάληψη!

Συγχρονισμός GitHub = η αναπνοή του προγραμματιστή: pull → κώδικας → push!

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