Το Git είναι ένα κατανεμημένο σύστημα ελέγχου εκδόσεων (VCS). Καταγράφει το ιστορικό του κώδικά σας: κάθε τροποποίηση, ποιος την έκανε, πότε και γιατί.
Χωρίς Git, αυτοσχεδιάζουμε με φακέλους
projet_final,projet_final_v2,projet_final_vraiment_final… Το Git αντικαθιστά αυτό το χάος με ένα καθαρό και πλοηγήσιμο ιστορικό.
Τι επιτρέπει το Git:
Το Git είναι κατανεμημένο: κάθε άτομο διαθέτει ένα πλήρες αντίγραφο του αποθετηρίου, μαζί με το ιστορικό. Δεν χρειάζεται να είστε συνδεδεμένοι σε διακομιστή για να εργαστείτε.
Η εγκατάσταση εξαρτάται από το λειτουργικό σας σύστημα.
Κατεβάστε το Git for Windows από το git-scm.com. Ο εγκαταστάτης παρέχει επίσης το Git Bash, ένα πρακτικό τερματικό.
# Με Homebrew
brew install gitsudo apt update
sudo apt install gitsudo dnf install gitΣυμβουλή: αποδεχτείτε τις προεπιλεγμένες επιλογές του εγκαταστάτη Windows, εκτός αν ξέρετε τι αλλάζετε. Ταιριάζουν στη μεγάλη πλειονότητα των περιπτώσεων.
🔧 Μικρή άσκηση — Γράψτε την εντολή εγκατάστασης του Git σε μια διανομή Linux Debian/Ubuntu.
sudo apt update
sudo apt install gitΠριν από το πρώτο commit, το Git χρειάζεται να ξέρει ποιοι είστε. Αυτές οι πληροφορίες θα εμφανίζονται στο ιστορικό κάθε commit.
# Το όνομά σας (ορατό στο ιστορικό των commits)
git config --global user.name "Όνομα Επώνυμο"
# Το ηλεκτρονικό σας ταχυδρομείο (ιδανικά το ίδιο με στο GitHub)
git config --global user.email "sas@exemple.com"| Επιλογή | Εμβέλεια | Σχετικό αρχείο |
|---|---|---|
--global | Όλα τα αποθετήριά σας (ο χρήστης σας) | ~/.gitconfig |
--local (προεπιλογή) | Μόνο το τρέχον αποθετήριο | .git/config |
--system | Όλοι οι χρήστες του μηχανήματος | διαμόρφωση συστήματος |
# Ορισμός του προεπιλεγμένου κλάδου σε "main"
git config --global init.defaultBranch main
# Διαχείριση των τέλων γραμμής (σημαντικό στα Windows)
git config --global core.autocrlf trueΗ διαμόρφωση
--globalγίνεται μία μόνο φορά ανά μηχάνημα. Έπειτα, όλα τα αποθετήριά σας την κληρονομούν αυτόματα.
🔧 Μικρή άσκηση — Γράψτε τις δύο εντολές που διαμορφώνουν σε καθολικό επίπεδο το όνομά σας και το ηλεκτρονικό ταχυδρομείο Git.
git config --global user.name "Όνομα Επώνυμο"
git config --global user.email "sas@exemple.com"# Επαλήθευση της εγκατεστημένης έκδοσης
git --version
# → git version 2.43.0 (ή παρόμοια)
# Επαλήθευση της διαμόρφωσής σας
git config --list
# Επαλήθευση μιας συγκεκριμένης ρύθμισης
git config user.name
git config user.emailΑν το
git --versionεπιστρέφει «εντολή μη βρεθεί», το Git δεν είναι εγκατεστημένο ή ο φάκελός του δεν βρίσκεται στη μεταβλητήPATH. Στα Windows, το άνοιγμα ενός νέου τερματικού μετά την εγκατάσταση συχνά λύνει το πρόβλημα.
🔧 Μικρή άσκηση — Εκτελέστε την εντολή που εμφανίζει την έκδοση του Git εγκατεστημένη στο μηχάνημά σας.
git --version
# → git version 2.43.0 (ή παρόμοια)Το Git ανοίγει μερικές φορές έναν επεξεργαστή (για να συντάξετε ένα μήνυμα commit, για παράδειγμα).
# Χρήση του VS Code ως επεξεργαστή Git
git config --global core.editor "code --wait"git config --global alias.st status
git config --global alias.co checkout
git config --global alias.br branch
git config --global alias.lg "log --oneline --graph --all"Έπειτα, το git st ισοδυναμεί με το git status, το git lg εμφανίζει ένα ευανάγνωστο γράφημα του ιστορικού, κ.λπ.
| Ψευδώνυμο | Ισοδυναμεί με | Όφελος |
|---|---|---|
git st | git status | Πιο σύντομο |
git co | git checkout | Πιο σύντομο |
git lg | git log --oneline --graph --all | Ευανάγνωστο ιστορικό |
Τα ψευδώνυμα είναι μια μικρή άνεση που εξοικονομεί χρόνο κάθε μέρα. Προαιρετικά, αλλά εκτιμητέα.
🔧 Μικρή άσκηση — Δημιουργήστε ένα καθολικό ψευδώνυμο st που εκτελεί git status, και έπειτα αναφέρετε πώς να το χρησιμοποιήσετε.
git config --global alias.st statusΈπειτα, το git st ισοδυναμεί με το git status.
Question 1 : Ποια εντολή εμφανίζει την εγκατεστημένη έκδοση του Git;
a) git version --check
b) git --version
c) git -v install
d) git status
✅ Απάντηση: b) — Το git --version εμφανίζει την έκδοση (π.χ. git version 2.43.0) και επιβεβαιώνει ότι το Git είναι σωστά εγκατεστημένο.
Question 2 : Σε τι χρησιμεύει το git config --global user.email "...";
a) Να συνδεθείτε στο GitHub
b) Να καταχωρίσετε το ηλεκτρονικό ταχυδρομείο που συνδέεται με τα commits σας, για όλα τα αποθετήριά σας
c) Να στείλετε ένα αυτόματο ηλεκτρονικό μήνυμα
d) Να διαγράψετε ένα αποθετήριο
✅ Απάντηση: b) — Με --global, αυτό το ηλεκτρονικό ταχυδρομείο θα προσαρτάται στα commits σας σε όλα τα αποθετήρια του μηχανήματος.
Question 3 : Τι κάνει η επιλογή --global;
a) Εφαρμόζει τη ρύθμιση σε όλα τα αποθετήρια του χρήστη σας
b) Εφαρμόζει τη ρύθμιση μόνο στο τρέχον αποθετήριο
c) Κοινοποιεί τη ρύθμιση σε όλο τον κόσμο
d) Διαγράφει τη διαμόρφωση
✅ Απάντηση: a) — Το --global γράφει στο ~/.gitconfig και εφαρμόζεται σε όλα τα αποθετήριά σας. Χωρίς επιλογή, η ρύθμιση είναι τοπική στο τρέχον αποθετήριο.
Question 4 : Τι σημαίνει «το Git είναι κατανεμημένο»;
a) Το Git είναι επί πληρωμή
b) Κάθε χρήστης διαθέτει ένα πλήρες αντίγραφο του αποθετηρίου, μαζί με το ιστορικό
c) Το Git λειτουργεί μόνο στο διαδίκτυο
d) Το Git διαγράφει το ιστορικό σε κάθε commit
✅ Απάντηση: b) — Σε αντίθεση με τα κεντρικά VCS, ο καθένας έχει ένα πλήρες αντίγραφο και μπορεί να εργάζεται εκτός σύνδεσης.
main ως προεπιλεγμένο κλάδο.# 1. Επαλήθευση της εγκατάστασης
git --version
# 2. Διαμόρφωση της ταυτότητας
git config --global user.name "Όνομα Επώνυμο"
git config --global user.email "sas@exemple.com"
# 3. Προεπιλεγμένος κλάδος
git config --global init.defaultBranch main
# 4. Επαλήθευση
git config --listΑναμενόμενο αποτέλεσμα του git config --list:
user.name=Όνομα Επώνυμο
user.email=sas@exemple.com
init.defaultbranch=main
core.autocrlf=trueΑν εμφανίζονται το όνομα και το ηλεκτρονικό ταχυδρομείο σας, το Git σας είναι έτοιμο. Μπορείτε να περάσετε στη δημιουργία του πρώτου τοπικού αποθετηρίου σας (μάθημα 06).
git-scm.com (Windows), brew/apt/dnf (macOS/Linux).user.name και user.email με --global.git --version και git config --list.Μάθημα 06 — Τοπικό αποθετήριο και commits: δημιουργία του πρώτου σας αποθετηρίου και καταγραφή των πρώτων αλλαγών.
Με την επιφύλαξη παντός δικαιώματος. Οποιαδήποτε αναπαραγωγή, διάδοση, χρήση ή προσαρμογή αυτού του μαθήματος, εν όλω ή εν μέρει, απαγορεύεται αυστηρά χωρίς την προηγούμενη γραπτή άδεια του Dr. Haythem REHOUMA.
Μάθημα δημιουργημένο από τον Dr. Haythem REHOUMA — Ανάπτυξη και ανάπτυξη λύσεων δεδομένων