Διαφήμιση

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

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

Γιατί χρησιμοποιείτε λογισμικό ελέγχου έκδοσης;

Πρώτα απ 'όλα, το όνομα πρέπει να το παραδώσει. Το λογισμικό ελέγχου έκδοσης σάς επιτρέπει να έχετε "εκδόσεις" ενός έργου, οι οποίες δείχνουν τις αλλαγές που έγιναν στον κώδικα με την πάροδο του χρόνου και σας επιτρέπουν να επιστρέψετε, εάν είναι απαραίτητο, και να αναιρέσετε αυτές τις αλλαγές. Αυτή η ικανότητα μόνο - να είναι σε θέση να συγκρίνει δύο εκδόσεις ή να αντιστρέψει τις αλλαγές, την καθιστά ανεκτίμητη όταν εργάζεται σε μεγαλύτερα έργα.

instagram viewer

Ίσως κάνατε και εσείς ο ίδιος σε κάποιο σημείο, εξοικονομώντας αντίγραφα ενός έργου σε διαφορετικά σημεία, ώστε να έχετε ένα αντίγραφο ασφαλείας. Σε ένα σύστημα ελέγχου έκδοσης, θα αποθηκευτούν μόνο οι αλλαγές - ένα αρχείο patch που θα μπορούσε να εφαρμοστεί σε μία έκδοση, προκειμένου να γίνει το ίδιο με την επόμενη έκδοση. Με έναν προγραμματιστή, αυτό αρκεί.

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

λογισμικό ελέγχου έκδοσης

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

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

Το Git δουλεύει ειδικά κάνοντας "στιγμιότυπα" αρχείων. αν τα αρχεία παραμένουν αμετάβλητα σε μια συγκεκριμένη έκδοση, απλώς συνδέονται με τα προηγούμενα αρχεία - αυτό κρατά τα πάντα γρήγορα και άπαχα.

Μπορεί επίσης να σας ενδιαφέρει να μάθετε ότι το Git χρησιμοποιείται για τη διαχείριση και την ανάπτυξη του core πυρήνα linux - το βασικό οικοδομικό τετράγωνο πάνω στο οποίο είναι κατασκευασμένες όλες οι διανομές linux.

έλεγχος εκδόσεων

Τι είναι ο Github;

Παρόλο που μπορείτε να τρέξετε το δικό σας Git server τοπικά, Github είναι ένας απομακρυσμένος διακομιστής, μια κοινότητα προγραμματιστών και μια γραφική διεπαφή ιστού για τη διαχείριση του έργου Git. Είναι δωρεάν για χρήση έως και 5 δημόσιων χώρων αποθήκευσης - δηλαδή, όταν κάποιος μπορεί να δει ή να πετάξει τον κωδικό σας - με σχέδια χαμηλού κόστους για ιδιωτικά έργα. Σας προτείνω να πάτε εγγραφείτε για ένα δωρεάν λογαριασμό, ώστε να μπορείτε να αρχίσετε να παίζετε με τα δικά σας έργα ή να παραλείψετε κάποιον άλλο.

έλεγχος εκδόσεων

Φορτηγά και διακλάδωση

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

Έχετε ακούσει ίσως το έργο "πιρούνι" όταν ασχολείται με Linux distros. Εάν γνωρίζετε την εφαρμογή Plex του κέντρου μέσων ενημέρωσης, θα γνωρίζετε ότι ήταν αρχικά ένα πιρούνι της παρόμοιας ανοιχτής πηγής Κέντρο πολυμέσων Xbox Aeon Nox 3.5: Όμορφο και προσαρμόσιμο θέμα για το XBMCΡυθμίστε το κέντρο πολυμέσων σας ακριβώς όπως το θέλετε. Το Aeon Nox 3.5 είναι η πιο πρόσφατη έκδοση του ίσως το καλύτερο θέμα για το XBMC και είναι ένας σπάνιος συνδυασμός: όμορφη ... Διαβάστε περισσότερα . Αυτό σημαίνει απλά ότι σε κάποιο σημείο στο παρελθόν ορισμένοι προγραμματιστές πήραν τον κώδικα της XBMC και αποφάσισαν να ακολουθήσουν το δικό τους τρόπο με αυτό. που έγινε Plex.

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

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

Ακολουθεί ένα σπουδαίο διάγραμμα ενός παραδείγματος ροής εργασιών από το Vincent Driessen:

λογισμικό ελέγχου έκδοσης

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

Είστε έμπειρος προγραμματιστής με εμπειρία στο Git; Απλά ξεκινάτε και νομίζετε ότι θα θέλατε να πάτε; Απενεργοποιήστε τα σχόλια!

Ο James έχει πτυχίο στην Τεχνητή Νοημοσύνη και είναι πιστοποιημένος με CompTIA A + και Network +. Είναι ο κύριος προγραμματιστής της MakeUseOf, και ξοδεύει τον ελεύθερο χρόνο του παίζοντας VR paintball και boardgames. Κατασκευάζει υπολογιστές από τότε που ήταν παιδί.