Εμφάνιση αναρτήσεων με ετικέτα git. Εμφάνιση όλων των αναρτήσεων
Εμφάνιση αναρτήσεων με ετικέτα git. Εμφάνιση όλων των αναρτήσεων

Τρίτη 5 Αυγούστου 2014

Συστήματα ελέγχου έκδοσης (version control system)

Πριν από περίπου 10 χρόνια, ως ελεύθερος επαγγελματίας, έκανα πολλές εργασίες, μερικές ως μεταπτυχιακά. Τότε ήταν τα φόρτε μου.

Γεγονός

Ως άσχετος σε θέματα ελέγχου έκδοσης, ξεκινούσα ένα αρχείο που το είχα και κρατημένο σε φλασάκι για ασφάλεια. Κρατήστε λίγο λογαριασμό, 2 αρχεία μέχρι στιγμής. Το κυρίως αρχείο στον φάκελο που έπρεπε και το άλλο... κάπου να μην χαθεί. Το όνομα του ήταν οτιδήποτε. Ας θεωρήσουμε λοιπόν ότι η εργασία έχει τελειώσει και το σώζουμε με το όνομα "τελικό".
Φυσικά έπρεπε να στείλω το αρχείο και στον ενδιαφερόμενο. Μέχρι στιγμής τουλάχιστον 3 αρχεία. Μέσα σε δύο ημέρες έπρεπε να αλλάξω κάτι που δεν άρεζε. Μπαίνω στο "τελικό" και αλλάζω ότι πρέπει. Το ονομάζω "τελικό2" και αν θυμηθώ κρατάω αντίγραφα. Λογαριασμός μέχρι στιγμής: 6 αρχεία.
Αλλάζει κάτι ο ενδιαφερόμενος (πολύ σύνηθες) και το σώζει μόνο στο δικό του δίσκο και το ονομάζει "τελικό-τελικό". Εγώ έχω ακόμα τα παλιά οπότε μιλάμε για 7 αρχεία.

Δεν του αρέσει κάτι, μου στέλνει το δικό του αρχείο, το αλλάζω και το ονομάζω "τελικό20011980" με ημερομηνία βέβαια γιατί άρχισε ήδη ο χαμός. Σύνολο 10 αρχεία. Και αυτό συνεχίζει με 3 αρχεία κάθε φορά.

Αποτέλεσμα

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

Στην ουσία λοιπόν

 Τι έχω μάθει; Συστήματα ελέγχου εκδόσεων. Τι κάνουν; Αυτό που λένε. Διαχειρίζονται το αρχείο σου (ή τα αρχεία) ως προς τις μεταβολές, κρατώντας κάθε φορά τις αλλαγές που έχεις πραγματοποιήσει ώστε αν χρειαστεί, να το επαναφέρεις σε παλαιότερη έκδοση. Με άλλα λόγια, κάθε φορά που αποθηκεύσεις ένα αρχείο, κρατάει και όλες τις πληροφορίες του ίδιου αρχείου πριν την αποθήκευση. Έτσι έχεις ένα μόνο αρχείο αντί των ατελείωτων άλλων στην διαφορετική περίπτωση.
Ήμουν πολύ τυχερός που αυτό το έμαθα κάπου το 2005 και εργάστηκα πολύ ευκολότερα. Οποιαδήποτε σουίτα επεξεργασίας κειμένου (office, open office, libre office) έχει κάπου μία επιλογή για την εν λόγω δυνατότητα. Στο libre office είναι κάπως έτσι:


Εδώ και λίγο καιρό εμφανίστηκε το λεγόμενο cloud το οποίο κάνει ευκολότερη την δουλειά στο να ανταλλάσσεις αρχεία, ή ακόμα καλύτερα να μοιράζεσαι και να δουλεύεις ταυτόχρονα, μαζί βέβαια (εκ των προτέρων ενεργοποιημένη) και η διαχείριση έκδοσης.

 Δηλαδή δουλεύουν όποιοι θέλεις ταυτόχρονα το αρχείο, κρατώντας όλες τις αλλαγές που έχει κάνει ο καθένας, όταν αυτός τις κάνει. Αν δεν το έχετε δοκιμάσει, δείτε το βίντεο αυτό.
Αλλά και πάλι κάπου εκεί έξω υπήρχε κάτι καλύτερο το οποίο το έμαθα μόλις πέρυσι χάρις σε μια καταπληκτική παρέα.
 Θα σας μυήσω στον κόσμο του git. Ως ιδέα αρκετά παλιά. Με πολύ λίγα λόγια δημιουργείτε ένα σύνολο αρχείων με μια μόνο εντολή και στον ίδιο φάκελο με το αρχείο, κρυφά, βρίσκονται όλες τις ζητούμενες πληροφορίες. Έτσι δεν έχετε ούτε πολλές φορές το ίδιο αρχείο, ούτε το ίδιο αρχείο μεγαλώνει κρατώντας τις πληροφορίες μέσα του. Από μόνο του αυτό δεν κάνει τίποτα παραπάνω από τα προηγούμενα. Φανταστείτε τώρα αυτές τις αλλαγές να τις έχετε στο δίκτυο ανά πάσα στιγμή, ή ακόμα καλύτερα να ζητάτε την βοήθεια από αλλά άτομα να δουλέψουν στο αρχείο-α σας ταυτόχρονα με εσάς και εσείς να αποφασίσετε τι θα κρατήστε (ή θα ενώσετε, ή θα δημιουργήσετε διαφορετική έκδοση, ή...). Αυτά τα κάνουν πλατφόρμες όπως το github. Εκείνο... το γλυκούλι αυτοκολητάκι... στο tablet μου... που με έχετε πρήξει ότι είναι η hello kitty! Πληροφορίες για το github θα βρείτε εδώ.

Αν ήδη μπήκατε ή ψάξατε για το github θα είδατε ότι κυρίως αφορά προγραμματιστές. Λογικό, αν σκεφτείτε ότι την ιδέα αυτή την είχε όντως προγραμματιστής, ώστε να διαχειρίζεται μερικές χιλιάδες γραμμές κώδικα. Αυτό δεν σημαίνει ότι χρησιμοποιείται μόνο από αυτούς. Απλά θα σας πω ότι η παρέα μου συνεννοείται και ενημερώνει τις συναντήσεις της μέσω github. Μην διστάσετε να το χρησιμοποιήσετε. Είναι δωρεάν, έχει τεράστια κοινότητα από πίσω και το καλύτερο, έχουμε τα μέσα μιας και ένας φίλος μου δουλεύει σε αυτό.
 Σκέφτομαι να φτιάξω στα Ελληνικά οδηγό χρήσης του github για αρχάριους και μη. Εις το επανιδείν λοιπόν και καλά μπάνια.