Εάν είστε χρήστης του Linux, πιθανότατα θα συναντήσετε το Git κάποια στιγμή, ίσως προσπαθώντας να κατεβάσετε ένα νέο πρόγραμμα ή εξετάζοντας συστήματα ελέγχου έκδοσης όπως το CVS ή το Subversion. Το Git είναι το σύστημα ελέγχου αναθεώρησης που δημιουργήθηκε από το διάσημο Linus Torvalds του πυρήνα του Linux λόγω έλλειψης ικανοποίησης από τις υπάρχουσες λύσεις. Η κύρια έμφαση στο σχεδιασμό ήταν η ταχύτητα, ή πιο συγκεκριμένα, η απόδοση. Το Git αντιμετωπίζει πολλές από τις αδυναμίες των προηγούμενων συστημάτων και το κάνει πολύ λιγότερο χρόνο.

Τι κάνει το Git

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

Το σημείο ενός συστήματος ελέγχου αναθεώρησης είναι η επίλυση σχεδόν όλων των προβλημάτων της παραπάνω παραγράφου. Μπορείτε να παρακολουθείτε κάθε αλλαγή στον κώδικα και τα αρχεία σας και να επιστρέψετε σε οποιοδήποτε σημείο πίσω σε πού βρίσκονται τα πράγματα.

Πώς λειτουργεί το Git

Ο κατάλογος κάθε έργου είναι η δική του αποθήκη Git. Διατηρείτε όλα τα αρχεία σας για αυτό το έργο σε αυτόν τον κατάλογο και ενημερώστε περιοδικά τους Git να ενημερώσουν τις πληροφορίες τους με την τρέχουσα κατάσταση των αρχείων. Αυτή η διαδικασία να πει ο Git να καταγράφει την κατάσταση είναι μια δέσμευση . Κάθε φορά που δεσμεύεστε (το οποίο πρέπει να είναι συχνά), το Git εξετάζει όλα τα αρχεία που του έχουν δοθεί εντολή παρακολούθησης και αποθηκεύει τις διαφορές στα αρχεία αυτά (όχι όλα τα νέα αρχεία) στον κατάλογο .git. Κάθε δέσμευση γίνεται ένα νέο σημείο αποθήκευσης για την ανάπτυξη του έργου σας.

Προαιρετικά, μπορείτε να σπρώξετε τον τοπικό αποθετήριο git σε έναν εξωτερικό κεντρικό υπολογιστή, όπως το GitHub.com . Αυτό επιτρέπει σε πολλούς συνεισφέροντες σε ένα έργο να είναι σε θέση να κάνουν συχνές, γρήγορα δεσμεύεται στην τοπική repo τους, και στη συνέχεια να συνδέει όλες αυτές τις τοπικές δεσμεύσεις σε μια ενιαία ενημέρωση του online repository. Αυτό είναι ένα από τα πράγματα που κάνει το Git πιο γρήγορο από ότι κάποια άλλα συστήματα VCS: μπορείτε να δεσμεύεστε συχνά στο τοπικό σας αποθετήριο χωρίς να χάνετε χρόνο και εύρος ζώνης που πρέπει να φορτώσετε σε ένα διακομιστή για κάθε ένα.

Getting Git

Οι περισσότεροι χρήστες του Linux θα πρέπει να διαθέτουν Git (ή git-core ) στα κανονικά αποθετήρια των διανομέων τους. Οι χρήστες του Ubuntu μπορούν να το εγκαταστήσουν κάνοντας κλικ εδώ ή στο τερματικό:

 sudo apt-get να εγκαταστήσετε το git-core 

Εάν βρίσκεστε σε άλλη πλατφόρμα ή διαφορετικά δεν μπορείτε να χρησιμοποιήσετε τέτοιου είδους αποθετήρια, μπορείτε να κάνετε λήψη και να εγκαταστήσετε πακέτα με μη αυτόματο τρόπο εδώ. Τα παραδείγματα μας προορίζονται για Linux, αλλά πρέπει να είναι τα ίδια για όλες τις πλατφόρμες που υποστηρίζει το Git.

Χρησιμοποιώντας το Git

Η διαδικασία δημιουργίας ενός τοπικού αποθετηρίου Git είναι γρήγορη και εύκολη. Δημιουργήστε έναν κατάλογο που σκοπεύετε να χρησιμοποιήσετε για το έργο σας και ανοίξτε το τερματικό σας στη συγκεκριμένη τοποθεσία. Στη γραμμή εντολών, πληκτρολογήστε την εντολή

 git init 

Αυτό θα δημιουργήσει τον κατάλογο .git για να κρατάτε τις πληροφορίες του αποθετηρίου σας. Πιθανότατα, θα θελήσετε να αρχίσετε να προσθέτετε κάποια αρχεία. Θα ξεκινήσουμε δημιουργώντας ένα δείγμα αρχείου README, προσθέτοντάς το στη λίστα των αρχείων του αποθετηρίου για να παρακολουθήσετε και στη συνέχεια δεσμεύοντας το αρχείο μας στο αποθετήριο.

 # Εισαγάγετε κάποιο κείμενο σε μια νέα echo αρχείου "TODO: Δημιουργία τεκμηρίωσης"> README.txt # Τώρα ενημερώστε το Git για να παρακολουθείτε τις αλλαγές αυτού του αρχείου # Αυτό πρέπει να γίνει μόνο μία φορά ανά αρχείο (περισσότερα # σε αυτό σε μια στιγμή) git προσθέστε README.txt # Και τώρα αποθηκεύστε την κατάσταση στο Git repository git commit README.txt 

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

Δημιουργήσαμε ουσιαστικά ένα στιγμιότυπο της τρέχουσας κατάστασης αυτού του αρχείου. Οποιεσδήποτε περαιτέρω αλλαγές (που δεσμεύεστε) θα αποθηκευτούν πάνω από αυτό.

Η προσθήκη και η δέσμευση κάθε αρχείου ξεχωριστά όπως στο παραπάνω παράδειγμα μπορεί να πάρει κουραστική. Για να το διορθώσετε, μπορείτε να προσθέσετε όλα τα αρχεία στον τρέχοντα κατάλογο με

 # Σημειώστε το τέλος "." git add. 

και μπορείτε να δεσμεύσετε όλα τα γνωστά, αλλαγμένα αρχεία ταυτόχρονα με

 git commit -a 

Ορισμένες άλλες εύχρηστες επιλογές εντολών git περιλαμβάνουν:

 # Δημιουργήστε έναν πλήρη κλώνο του υπάρχοντος χώρου αποθήκευσης, όπως από τον ιστότοπο ενός προγράμματος git clone (διεύθυνση URL, π.χ. git: //github.com/github/linux-2.6.git) # Μετακίνηση / μετονομασία ενός αρχείου. Αυτό σας αντικαθιστά από την ανάγκη να αφαιρέσετε και να προσθέσετε ξανά το αρχείο #if είχε μετακινηθεί από bash git mv (source) (προορισμός) #Delete ένα αρχείο και να αφαιρεθεί από το Git repit git rm (target) #Βλέπε κλάδους σε αυτό το git αποθετήριο (υποκατάστημα) # Δημιουργία νέου κλάδου του κλάδου Git δέντρου git (νέο όνομα κλάδου, δηλαδή "πειραματικό") # Μετατροπή από ένα κλάδο σε άλλο git checkout (όνομα κλάδου, δηλαδή "πειραματικό" συγχώνευση (υποκατάστημα) 

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