Ενδεχομένως το κεφάλαιο αυτό το διαβάζει κανείς αφού έχει διαβάσει το υπόλοιπο βιβλίο ή ίσως χρειάστηκε να ανατρέξει σε αυτό όταν διάβαζε κάποιο προηγούμενο κεφάλαιο --σε κάθε περίπτωση, σε αυτό το κεφάλαιο θα δούμε την εσωτερική λειτουργία και υλοποίηση του Git. Θεωρούμε ότι η εκμάθηση αυτών των πληροφοριών είναι θεμελιώδως σημαντική για την κατανόηση του πόσο χρήσιμο και ισχυρό είναι το Git, κάποιοι άλλοι όμως υποστήριξαν ότι μπορεί να δημιουργήσει σύγχυση και είναι άσκοπα περίπλοκο για αρχάριους. Γι' αυτόν τον λόγο, έχουμε κάνει αυτήν τη συζήτηση το τελευταίο κεφάλαιο του βιβλίου έτσι ώστε να μπορούμε να το διαβάσουμε νωρίς ή αργότερα στη διαδικασία της μάθησής μας. Αυτό ας το αποφασίσει ο καθένας για τον εαυτό του.
Μια που είμαστε εδώ, ας αρχίσουμε. Καταρχάς, αν δεν είναι ήδη ξεκάθαρο, το Git είναι βασικά ένα σύστημα αρχείων που απευθύνεται στο περιεχόμενο με ένα VCS γραμμέν από πάνω ως διεπαφή χρήστη. Θα μάθουμε περισσότερα για το τι σημαίνει αυτό σε λίγο.
Στις πρώτες μέρες του Git (κυρίως πριν την έκδοση 1.5), η διεπαφή χρήστη ήταν πολύ πιο περίπλοκη επειδή δινόταν έμφαση στο σύστημα αρχείων μάλλον παρά ένα καλογυαλισμένο VCS. Τα τελευταία χρόνια, η διεπαφή χρήστη έχει βελτιωθεί τόσο, ώστε το Git είναι καθαρό και εύκολο στη χρήση, όπως οποιοδήποτε άλλο σύστημα· αλλά συχνά, το στερεότυπο για την παλιά διεπαφή χρήστη, ότι ήταν πολύπλοκη και δύσκολο να τη μάθει κανείς, αιωρείται στην ατμόσφαιρα.
Το σύστημα αρχείων που είναι απευθύνεται στο περιεχόμενο είναι εκπληκτικά όμορφο, επομένως θα το καλύψουμε πρώτο σε αυτό το κεφάλαιο· μετά θα μάθουμε για τους μηχανισμούς μεταφοράς και εργασίες διαχείρισης του αποθετηρίου, που θα χρειαστεί σε κάποια στιγμή να χρησιμοποιήσουμε.
Πλέον έχουμε αρκετά καλή κατανόηση του σχετικά με το τι κάνει το Git στο παρασκήνιο και σε κάποιο βαθμό για τον τρόπο με τον οποίο υλοποιείται. Αυτό το κεφάλαιο κάλυψε τις εντολές διοχέτευσης που είχαμε δει στο υπόλοιπο βιβλίο. Η κατανόηση του πώς λειτουργεί το Git σε χαμηλό επίπεδο καθιστά ευκολότερη την κατανόηση του γιατί κάνει αυτό που κάνει αλλά και τη συγγραφή δικών μας εργαλείων και βοηθητικών script, που θα διευκολύνουν τη συγκεκριμένη ροή εργασιας μας.
Το Git ως σύστημα αρχείων απευθυνόμενο στο περιεχόμενο είναι ένα πολύ ισχυρό εργαλείο που μπορούμε να χρησιμοποιήσουμε ως κάτι περισσότερο από ένα VCS. Μπορούμε να χρησιμοποιήσουμε τη νέα γνώση για την εσωτερική λειτουργία του Git για να υλοποιήσουμε τις δικές μας καταπληκτικές εφαρμογές αυτής της τεχνολογίας και να αισθανόμαστε μεγαλύτερη αυτοπεποίθηση να χρησιμοποιούμε το Git με πιο προηγμένους τρόπους.