Μετάβαση στο κυρίως περιεχόμενο
Εναλλακτικό του: Perforce (Helix Core), Mercurial (hg), Subversion (SVN - centralized)

Το πιο δημοφιλές κατανεμημένο σύστημα ελέγχου εκδόσεων (DVCS) παγκοσμίως. Σχεδιάστηκε από τον Linus Torvalds για την ανάπτυξη του Linux kernel, και πλέον χρησιμοποιείται από εκατομμύρια projects (από solo developers έως megacorporations). Υποστηρίζει non-linear workflows, branching/merging, local commits, staging area, και πολλαπλά remote repositories.

Επίσκεψη Ιστοσελίδας

Το Git είναι ένα DVCS που επιτρέπει σε κάθε developer να έχει ένα πλήρες αντίγραφο του repository (όλη η ιστορία, branches) τοπικά, χωρίς να χρειάζεται συνεχή σύνδεση με κεντρικό server. Δίνει έμφαση στην ταχύτητα, την ακεραιότητα δεδομένων (cryptographic SHA-1 hashes), και την υποστήριξη κατανεμημένων, μη γραμμικών ροών εργασίας (branching & merging). Είναι το standard for open source (GitHub, GitLab, Gitea) και enterprise development.

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

Πλεονεκτήματα (vs SVN, Perforce):

ΧαρακτηριστικόGitSubversion (SVN)Perforce
ΑρχιτεκτονικήΚατανεμημένο (DVCS)Κεντρικό (CVCS)Κεντρικό (client-server)
Offline commits✅❌⚠️ (limited)
Branching costΠολύ φθηνόΑκριβό (copy)Μέτριο
Local history✅ (πλήρες repo)❌❌
Δημοτικότητα (open source)Ναι (συντριπτικό)LegacyEnterprise (gaming, embedded)

Βασικές Εντολές (CLI):

git init                      # δημιουργία repo
git clone <url>               # κλωνοποίηση
git add <file>                # προσθήκη στο staging area
git commit -m "message"       # commit
git push origin main          # αποστολή στο remote
git pull origin main          # λήψη αλλαγών + merge
git branch feature-X          # δημιουργία branch
git checkout feature-X        # εναλλαγή branch
git merge feature-X           # merge στο τρέχον branch
git log --oneline --graph     # visual history

Σημείωση: Το Git έχει απότομη καμπύλη εκμάθησης (ειδικά merge conflicts, rebase, reflog). Αλλά αποτελεί απαραίτητο εργαλείο για κάθε προγραμματιστή σήμερα. GUI clients (GitHub Desktop, GitKraken, Sourcetree) απλοποιούν βασικές λειτουργίες.