Sobes.tech
Junior

Τι γνωρίζετε για το εργαλείο Git;

sobes.tech AI

Απάντηση από AI

Το Git είναι ένα κατανεμημένο σύστημα ελέγχου εκδόσεων.

Βασικές έννοιες:

  • Αποθετήριο: Αποθήκη του έργου με το ιστορικό των αλλαγών.
  • Commit: Στιγμιότυπο της κατάστασης των αρχείων του έργου σε μια συγκεκριμένη στιγμή.
  • Κλάδος (Branch): Ανεξάρτητη γραμμή ανάπτυξης που επιτρέπει την εργασία σε νέες λειτουργίες ή διορθώσεις χωρίς να επηρεάζει τον κύριο κλάδο.
  • Merge (Ενοποίηση): Συνένωση αλλαγών από έναν κλάδο σε έναν άλλο.
  • Pull Request (PR): Αίτημα για συγχώνευση αλλαγών από έναν κλάδο σε έναν άλλο, συχνά με συζήτηση και αναθεώρηση κώδικα.
  • Απομακρυσμένο αποθετήριο (Remote): Έκδοση του αποθετηρίου που αποθηκεύεται σε απομακρυσμένο διακομιστή (π.χ., GitLab, GitHub, Bitbucket).

Βασικές εντολές:

  • git init: Δημιουργία ενός νέου αποθετηρίου.
  • git clone <url>: Αντιγραφή απομακρυσμένου αποθετηρίου.
  • git add <αρχείο(α)>: Προσθήκη αλλαγών στην περιοχή staging.
  • git commit -m "Μήνυμα commit": Δημιουργία commit.
  • git status: Εμφάνιση της κατάστασης του εργασιακού καταλόγου και της περιοχής staging.
  • git log: Εμφάνιση ιστορικού commits.
  • git branch <όνομα κλάδου>: Δημιουργία νέου κλάδου.
  • git checkout <όνομα κλάδου>: Μετάβαση σε άλλο κλάδο.
  • git merge <όνομα κλάδου>: Ενοποίηση του καθορισμένου κλάδου με τον τρέχοντα.
  • git pull: Λήψη των τελευταίων αλλαγών από το απομακρυσμένο αποθετήριο και συγχώνευση.
  • git push: Αποστολή των τοπικών commits στο απομακρυσμένο αποθετήριο.
  • git remote add origin <url>: Προσθήκη απομακρυσμένου αποθετηρίου με το όνομα origin.
  • git fetch: Λήψη αλλαγών από το απομακρυσμένο αποθετήριο χωρίς αυτόματη συγχώνευση.

Είμαι εξοικειωμένος με ροές εργασίας όπως το GitHub Flow ή παρόμοιες (δημιουργία κλάδων χαρακτηριστικών, PR, αναθεώρηση κώδικα, συγχώνευση στον κύριο κλάδο). Ξέρω πώς να επιλύω συγκρούσεις συγχώνευσης.

Χρησιμοποιώ το Git καθημερινά για ομαδική εργασία σε έργα.