Εισαγωγή στον Έλεγχο εκδόσεων με το Git

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

Έλεγχος έκδοσης

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

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

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

Ο Linus Torvalds, ο πατέρας του Πυρήνα του Linux, κατά την ανάπτυξη του ίδιου αντιμετώπισε μια κατάσταση όπου δεν μπορούσε πλέον να διαχειριστεί σωστά τον κώδικα που έγραφε τη στιγμή που χρησιμοποιούσε το BitKeeper. Έτσι έκανε μια μικρή παράκαμψη για να αναπτύξει το Git και το δημοσιοποίησε το έτος 2005. Ο σχεδιασμός του Git βασίστηκε στενά στο BitKeeper. Το όνομα "git" δόθηκε από τον Linus Torvalds όταν έγραψε την πρώτη έκδοση. Περιέγραψε το εργαλείο ως «τον ηλίθιο ανιχνευτή περιεχομένου».

Γιατί κάθε προγραμματιστής χρειάζεται να μάθει πώς να χρησιμοποιεί το VCS;

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

Υπάρχουν πολλά συστήματα ελέγχου έκδοσης διαθέσιμα στην αγορά όπως το Subversion, το Mercurial κ.λπ. αλλά ο λόγος για τον οποίο εστιάζουμε στο Git είναι ότι είναι μακράν η πιο δημοφιλής διαθέσιμη επιλογή.

Ρύθμιση

Η ρύθμιση του git είναι διαφορετική ανάλογα με το λειτουργικό σύστημα στο οποίο βρίσκεστε. Θα σας καθοδηγήσω στη διαδικασία εγκατάστασης σε macOS, Linux και Windows.

macOS

Η εγκατάσταση του Git είναι αρκετά εύκολη στο Mac, πρώτα βεβαιωθείτε ότι έχετε εγκαταστήσει το brew, τον δημοφιλή διαχειριστή πακέτων για το Mac. Μόλις ρυθμιστεί η παρασκευή (το οποίο ειλικρινά διαρκεί μόνο λίγα λεπτά ανάλογα με την ταχύτητά σας στο διαδίκτυο) απλά πρέπει να δώσετε την ακόλουθη εντολή:

  • brew install git

Linux

Η διαδικασία εγκατάστασης στο Linux είναι επίσης αρκετά παρόμοια με το macOS. Ανοίξτε το τερματικό και δώστε την ακόλουθη εντολή:

  • sudo apt-get install git

Windows

Η διαδικασία εγκατάστασης στα Windows είναι λίγο διαφορετική. Στα Windows, πρέπει να κάνετε λήψη ενός προγράμματος εγκατάστασης. Κατευθυνθείτε προς αυτή η σύνδεση για να πραγματοποιήσετε λήψη του πιο πρόσφατου προγράμματος εγκατάστασης και, στη συνέχεια, εκτελέστε το πρόγραμμα εγκατάστασης για να εγκαταστήσετε το git στον υπολογιστή σας με Windows.

Ξεκινώντας

Τώρα που έχετε ρυθμίσει το σύστημά σας. Πρέπει να αρχικοποιήσετε ένα αποθετήριο git. Τι είναι ένα αποθετήριο ρωτάτε; Είναι ο φάκελος/κατάλογος στον οποίο αποθηκεύονται όλα τα αρχεία του έργου σας. Ακολουθούν τα βήματα για την προετοιμασία ενός αποθετηρίου git.

  • Εκκινήστε το Terminal/Command Prompt στο μηχάνημά σας.
  • Μεταβείτε στον κατάλογο του έργου που περιέχει όλα τα αρχεία του έργου. (Αυτό γίνεται συνήθως χρησιμοποιώντας την εντολή cd σε όλες τις πλατφόρμες)
  • τώρα που βρίσκεστε μέσα στον κατάλογο του έργου σας, εκδώστε την ακόλουθη εντολή: git init

Git Init

Τώρα που αρχικοποιήσατε το αποθετήριο git, το git γνωρίζει ότι πρέπει να παρακολουθεί τις αλλαγές σε όλα τα αρχεία του καταλόγου. Το Git θα γνωρίζει πλέον κάθε φορά που προσθέτετε ή αφαιρείτε αρχεία στον κατάλογο του έργου ή κάνετε οποιεσδήποτε αλλαγές.

Πραγματοποίηση αλλαγών και έκδοση της πρώτης σας δέσμευσης

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

  • git status

Git Satus

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

  • git add

Κατά την έκδοση της εντολής git add, μπορείτε να επανεκδώσετε μια εντολή κατάστασης για να δείτε την κατάσταση του αρχείου.

Τώρα, που το αρχείο έχει προστεθεί το αρχείο στην περιοχή σταδιοποίησης, ήρθε η ώρα να οριστικοποιήσετε την αλλαγή σας με ένα μήνυμα δέσμευσης. Εκδώστε την ακόλουθη εντολή:

  • git commit – m "YOUR_MESSAGE"

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

Git Commit

Διακλάδωση

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

Η δημιουργία ενός κλάδου χρησιμοποιώντας το Git είναι αρκετά απλή. Απλώς εκδώστε τον παρακάτω διοικητή

  • git checkout -b "BRANCH_NAME"

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

  • git υποκατάστημα

git υποκατάστημα

Κοινή χρήση του Κώδικά σας στο GitHub

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

GitHub

 

Βεβαιωθείτε ότι έχετε λογαριασμό GitHub πριν συνεχίσετε.

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

Προσθήκη GitHub

 

Μόλις δημιουργήσετε το αποθετήριο. Θα σας δείξουν περαιτέρω βήματα που θα σας καθοδηγήσουν να φέρετε το έργο σας στο GitHub.

Οδηγίες GitHub

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

  • git remote προσθήκη προέλευσης REMOTE_URLgit push -u origin master

Μόλις γίνει αυτό, μπορείτε να επισκεφτείτε την απομακρυσμένη διεύθυνση URL για να ελέγξετε τα έργα σας. Άλλοι στην κοινότητα μπορούν να συνεισφέρουν στα έργα σας εκδίδοντας αλλαγές.

Συμπέρασμα

Συγχαρητήρια. Είστε τώρα ένα βήμα πιο κοντά στη δημιουργία του επόμενου μεγάλου πράγματος στην τεχνολογία. Και είμαι σίγουρος ότι κατά τη διάρκεια αυτής της διαδικασίας, θα εφαρμόσετε επίσης τις εύχρηστες έννοιες του ελέγχου έκδοσης που σας έχει διδάξει αυτό το άρθρο. Μεγάλες εταιρείες όπως η IBM, η Google κ.λπ. έχουν τεράστια χαρτοφυλάκια υπηρεσιών που συνεχώς εξελίσσονται με τεχνολογίες και δυνατότητες αιχμής και ο μόνος τρόπος με τον οποίο είναι σε θέση να διαχειριστούν μια τόσο μεγάλη σουίτα προϊόντων που η κάθε μια κλιμακώνεται σε πολλά εκατομμύρια γραμμές κώδικα είναι μέσω του ελέγχου εκδόσεων συστήματα. Οι ίδιες οι εταιρείες είτε έχουν τη δική τους εσωτερική λύση για VCS είτε βασίζονται στα δημοφιλή VCS όπως το Git ή το Subversion. Τα περισσότερα από τα θεωρητικά έργα ανοιχτού κώδικα είναι διαθέσιμα δημόσια στο GitHub. Είναι σίγουρα μια σημαντική δεξιότητα να κατέχετε και να γνωρίζετε πώς να διαχειρίζεστε μεγάλες βάσεις κωδικών θα αλλάξει αποτελεσματικά τον τρόπο εργασίας σας και θα αυξήσει επίσης την αξιοπιστία σας.

Aishwar Babber

Ο Aishwar Babber είναι ένας παθιασμένος blogger και ένας ψηφιακός έμπορος. Του αρέσει να μιλάει και να κάνει blog για την πιο πρόσφατη τεχνολογία και gadget, κάτι που τον παρακινεί να τρέξει GizmoBase. Αυτήν τη στιγμή εξασκεί την τεχνογνωσία του στο ψηφιακό μάρκετινγκ, το SEO και το SMO ως έμπορος πλήρους απασχόλησης σε διάφορα έργα. Είναι ενεργός επενδυτής σε AffiliateBay και σκηνοθέτης στο ImageStation.

Αφήστε ένα σχόλιο