Τι είναι το Git

Ένα από τα βασικά χαρακτηριστικά της ανάπτυξης λογισμικού είναι ότι γράφουμε τον πηγαίο κώδικα σε στάδια. Ξεκινούμε αρχικά με απλό κώδικα και δοκιμάζοντας διάφορα, προσθέτουμε, διορθώνουμε και γράφουμε περισσότερο κώδικα. Ιδίως όταν μαθαίνουμε προγραμματισμό, νιώθουμε την ανάγκη να έχουμε ένα σύστημα που να καταγράφει τις διαδοχικές εκδόσεις του κώδικά μας. Και όταν το πρόγραμμα μας γίνει μεγαλύτερο, ή όταν συνεργαζόμαστε με φίλους προγραμματιστές, τότε είναι επιτακτικό να έχουμε ένα σύστημα για τη διαχείριση του κώδικά μας.

Ένα από τα συστήματα διαχείρισης εκδόσεων λογισμικού είναι το Git, που γράφτηκε αρχικά από τον Linus Torvalds και στηρίζει την ανάπτυξη του πυρήνα Linux, του GNOME και πολλών άλλων έργων ΕΛ/ΛΑΚ. Το Git είναι ένα κατανεμημένο σύστημα διαχείρισης εκδόσεων λογισμικού (Distributed Version Control System, DVCS), και είναι εξαιρετικό προσόν να γνωρίζουμε πως να το χρησιμοποιήσουμε.

 

Χαρακτηριστικά

Κάποια από τα χαρακτηριστικά του Git είναι:


•    Εύκολο branching
•    Εύκολο merging
•    Έλεγχος εγκυρότητας των δεδομένων (SHA1)
•    Παρακολουθεί το περιεχόμενο συνολικά και όχι ανά αρχείο
•    Πολύ γρήγορο

 

Ορισμοί

Repository: Το φυσικό σημείο στο οποίο βρίσκονται αποθηκευμένα τα αρχεία μαζί με όλες τις πληροφορίες του RCS (local ή remote).
Commit: Ένα σύνολο λογικά συσχετιζόμενων αλλαγών στα παρακολουθούμενα αρχεία (edit, add, delete) μαζί με πληροφορίες για το ποιός τις έκανε,πότε και γιατί.
Branch: Όταν υπάρχει ανάγκη για απόσπαση από το “κεντρικό σώμα” του κώδικα (π.χ. για ένα experimental feature ή bug fix), ένα branch κρατάει τα νέα commits χωρίς να επηρεάζει το σώμα του κώδικα.
Tag: Δείκτης σε μια συγκεκριμένη έκδοση του κώδικα.
Merge: Η διαδικασία ενσωμάτωσης ενός branch σε ένα άλλο.

 

Κάποιες εντολές

git init αρχικοποίηση της αποθήκης
git log προβολή του αρχείου καταγραφής
git diff εμφάνιση των αλλαγών
git add προσθήκη αρχείων στο αποθετήριο
git commit -m "Σχόλιο" helloworld.pl αποθηκεύει τις αλλαγές που ΄χουν γίνει
git rm διαγραφή αρχείων από το αποθετήριο
git clone δημιουργία κλώνου (αντιγράφου) από ήδη υπάρχον αποθετήριο
git branch myname δημιουργία νέου κλάδου με όνομα myname
git branch -D myname διαγραφή του κλάδου με όνομα myname
git branch προβολή λίστας των κλάδων
git checkout myname μετάβαση από τον ένα κλάδο στον myname
git merge συνενώνει κώδικα από κλάδο με τον κορμό
git reset επαναφορά στο σημείο που έγινε το τελευταίο commit

 

Σύνδεσμοι

Ιστοσελίδα του Git (αγγλικά)
Οι εντολές του Git (αγγλικά)
Οδηγός ρύθμισης και χρήσης του Git και GitHub (ελληνικά)
Παράδειγμα χρήσης του Git (ελληνικά)
Git Wikipedia (αλλγικά)

Η ιστοσελίδα χρησιμοποιεί cookies για την σωστή λειτουργία, την πλοήγηση, την ανάλυση κίνησης, για social media, και άλλες λειτουργίες. Οι επισκέπτες και χρήστες της, θα πρέπει σύμφωνα με τις οδηγίες της αρχής προστασίας προσωπικών δεδομένων να συμφωνούν με τη χρήση των εν λόγω cookies.