Best Hosting Control Hosting Μάιος 2020

Αποκάλυψη: Η υποστήριξή σας βοηθά στη διατήρηση της λειτουργίας του ιστότοπου! Κερδίζουμε ένα τέλος παραπομπής για ορισμένες από τις υπηρεσίες που προτείνουμε σε αυτήν τη σελίδα.


Contents

Βρείτε τη φιλοξενία με αυτές τις λειτουργίες στο Version Control

  • Αστατος
  • SVN

Έλεγχος έκδοσης και φιλοξενία

φιλοξενία ελέγχου έκδοσης

Οι κωδικοποιητές θέλουν να κωδικοποιούν.

Μπορεί να είναι εύκολο να συνηθίσετε απλά να ανοίξετε έναν συντάκτη και να ξεκλειδώσετε όσο το δυνατόν περισσότερο κώδικα.

Αυτό ισχύει ιδιαίτερα εάν εργάζεστε σε ένα προσωπικό έργο ή είστε ο μοναδικός προγραμματιστής.

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

Αλλά αν εισάγετε νέο κώδικα στην παραγωγή χωρίς κατάλληλο σύστημα ελέγχου έκδοσης, δεν κάνετε πραγματικά ανάπτυξη λογισμικού, κάνετε το “Cowboy Coding”.

πώς λειτουργεί ο έλεγχος έκδοσης

Πώς λειτουργεί ο έλεγχος έκδοσης

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

Τα συστήματα ελέγχου έκδοσης (VCS) ή το λογισμικό ελέγχου έκδοσης μπορούν να είναι αυτόνομες εφαρμογές που είναι ενσωματωμένες σε εφαρμογές επεξεργασίας εγγράφων (όπως το Word ή τα Έγγραφα Google).

Μπορούν επίσης να ενσωματωθούν σε συστήματα διαχείρισης περιεχομένου (όπως το WordPress ή το MediaWiki) ή σε ένα ολοκληρωμένο περιβάλλον ανάπτυξης (IDE) όπως το Visual Studio της Microsoft.

Τι κάνει ο Έλεγχος έκδοσης?

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

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

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

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

Το πώς συμβαίνει αυτή η συγχώνευση εξαρτάται από το σύστημα ελέγχου έκδοσης (VCS) που χρησιμοποιείται.

λόγοι για τη χρήση ελέγχου έκδοσης

Λόγοι για τη χρήση του ελέγχου έκδοσης

Δεν έχετε πειστεί ακόμη ότι χρειάζεστε ένα σύστημα ελέγχου έκδοσης?

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

  • Ελευθερία να κάνουμε λάθη
  • Ελευθερία να δοκιμάσετε κάτι νέο
  • Ένα πλήρες ιστορικό αναθεωρήσεων που έγιναν στη βάση κώδικα
  • Λιγότερες αναπάντητες ερωτήσεις
  • Χαρτί για το τι έγινε και γιατί
  • Δημιουργία αντιγράφων ασφαλείας
  • Διευκόλυνση της ευκολότερης συνεργασίας μεταξύ των μελών της ομάδας.

Ελευθερία να κάνετε λάθη

Χρησιμοποιείτε ποτέ το κουμπί UNDO (CTRL-Z) ενώ εργάζεστε; Φυσικά, το κάνετε. Είναι ένα από τα πιο σημαντικά χαρακτηριστικά των σύγχρονων υπολογιστών.

Αυτό που σας δίνει το κουμπί UNDO είναι η ελευθερία να κάνετε λάθη. Αυτό είναι ένα από τα πλεονεκτήματα που έχετε από τον έλεγχο της έκδοσης – στην πραγματικότητα, μπορεί να είναι το πιο σημαντικό πλεονέκτημα.

Ελευθερία να δοκιμάσετε κάτι νέο

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

Εάν δεν λειτουργεί, μπορείτε απλά να επαναφέρετε τον κωδικό σας σε προγενέστερο σημείο ή να απορρίψετε τις προτεινόμενες αναθεωρήσεις.

Αυτές οι αναθεωρήσεις δεν θα έχουν συγχωνευτεί στον κύριο πηγαίο κώδικα. (Είναι σαν να αποθηκεύετε πόντους σε ένα βιντεοπαιχνίδι.)

Αυτό είναι χρήσιμο για δύο λόγους:

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

Πλήρες ιστορικό των αναθεωρήσεων που έγιναν στη βάση κώδικα σας

Έχετε εργαστεί ποτέ σε ένα έργο για μεγάλο χρονικό διάστημα και έπειτα κάποιος που το χρησιμοποιεί λέει: “Δεν χρησιμοποιήθηκε το κουμπί εξόδου για να ενεργοποιήσει μια προειδοποίηση αποθήκευσης πριν κλείσει την εφαρμογή;”

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

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

Συνήθως, υπήρχε κάποιος λόγος που το χαρακτηριστικό ήταν πρώτο (ακόμη και με δυνατότητες που τελικά καταργούνται).

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

Λιγότερες αναπάντητες ερωτήσεις

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

Εναλλακτικά, εάν έχετε έλεγχο έκδοσης, μπορείτε να αναζητήσετε προηγούμενες αναθεωρήσεις και να επιστρέψετε με οριστικές απαντήσεις σχετικά με:

  • Τι έκανε αυτό το χαρακτηριστικό
  • Όταν αφαιρέθηκε
  • Γιατί καταργήθηκε.

Αυτό είναι ιδιαίτερα χρήσιμο εάν πρέπει:

  • Εκτελέστε εκ νέου τη λειτουργία (μερικές φορές μπορείτε απλώς να επαναλάβετε την εφαρμογή του κώδικα που καταργήθηκε!)
  • Υπερασπιστείτε τον συνεχή αποκλεισμό του από τις εφαρμογές σας που είναι έτοιμες για παραγωγή.

Χαρτί για το τι έγινε και γιατί

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

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

  • Τι αναθεωρήσεις έγιναν
  • Όταν έγιναν αναθεωρήσεις
  • Ποιος έκανε τις αναθεωρήσεις.

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

Δημιουργία αντιγράφων ασφαλείας

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

Αυτό σώζει τα έργα σας από το να έχετε ένα μόνο μηχάνημα ως καταστροφικό μόνο σημείο αποτυχίας.

Διευκόλυνση ευκολότερης συνεργασίας μεταξύ των μελών της ομάδας

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

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

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

ανάπτυξη

Ανάπτυξη και έλεγχος έκδοσης

Πώς μετακινείτε αρχεία από τη μηχανή τοπικής ανάπτυξης στο δοκιμαστικό σας περιβάλλον και, τέλος, στα περιβάλλοντα παραγωγής?

Μερικοί άνθρωποι απλώς διατηρούν ένα παράθυρο FTP ανοιχτό και αποθέτουν αρχεία καθώς τα αλλάζουν.

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

Προώθηση των αναθεωρήσεων ταυτόχρονα

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

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

Τύποι Συστημάτων Ελέγχου Έκδοσης (VCS)

Υπάρχουν βασικά δύο τύποι συστημάτων ελέγχου εκδόσεων:

  • Κεντρικά συστήματα ελέγχου εκδόσεων
  • Αποκεντρωμένα συστήματα ελέγχου εκδόσεων.

Ας ρίξουμε μια εις βάθος ματιά παρακάτω.

κεντρικός έλεγχος έκδοσης

Κεντρικά Συστήματα Ελέγχου Έκδοσης

Τα κεντρικά συστήματα ελέγχου εκδόσεων ακολουθούν ένα μοντέλο πελάτη-διακομιστή.

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

Το αντίγραφο εργασίας στη συνέχεια “κλειδώνεται”. Άλλοι είτε προειδοποιούνται ότι δεν πρέπει να κάνουν αναθεωρήσεις στο αρχείο ή ακόμη και να εμποδίσουν την επεξεργασία των αρχείων (ή και τα δύο).

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

Ένα δείγμα κεντρικής ροής εργασίας VCS

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

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

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

Η ροή εργασίας

Όταν πρέπει να εργαστείτε σε κάτι, θα βρείτε τα αρχεία στα οποία πρέπει να επεξεργαστείτε. Στη συνέχεια “ελέγχετε” αυτά τα αρχεία, πράγμα που σημαίνει ότι:

  1. Τράβετε ένα αντίγραφο στο τοπικό σας μηχάνημα, όπου μπορείτε να το επεξεργαστείτε
  2. Τα ίδια τα αρχεία είναι κλειδωμένα κατά της επεξεργασίας από άλλους στην ομάδα σας

Όταν ολοκληρώσετε τις αλλαγές, μπορείτε να τις δεσμεύσετε, συμπεριλαμβανομένης μιας σημείωσης για το τι κάνατε.

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

αποκεντρωμένος έλεγχος έκδοσης

Αποκεντρωμένα (ή Κατανεμημένα) Συστήματα Ελέγχου Έκδοσης

Τα αποκεντρωμένα / κατανεμημένα συστήματα ελέγχου έκδοσης είναι εκείνα στα οποία οι εμπλεκόμενοι προγραμματιστές λογισμικού έχουν:

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

Πηγή αλήθειας, χρηστών και κόμβων

Δεν υπάρχει κανένας χρήστης ή κόμβος, που είναι πιο σημαντικός από οποιονδήποτε άλλο κόμβο, αν και συνήθως υπάρχει ένα μόνο αποθετήριο που ορίζεται ως η προέλευση. (Σκεφτείτε ένα αποθετήριο ως αρχείο, αλλά με ιστορικές πληροφορίες.)

Η προέλευση είναι παρόμοια με τον “κεντρικό” πηγαίο κώδικα σε ένα κεντρικό VCS.

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

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

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

Ένα δείγμα αποκεντρωμένης ροής εργασίας VCS

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

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

Ξεκινώντας

Μπορείτε να ξεκινήσετε με έναν από τους δύο τρόπους:

  • Μπορείτε να προετοιμάσετε ένα νέο αποθετήριο στον υπολογιστή σας
  • Μπορείτε να κλωνοποιήσετε ένα υπάρχον αποθετήριο.

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

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

Πραγματοποίηση αλλαγών

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

Ο αριθμός των αλλαγών που συμπεριλαμβάνετε σε ένα υποκατάστημα μπορεί να διαφέρει.

Μπορεί να κάνετε μια μικρή αλλαγή ή να διατηρήσετε μήνες αλλαγών σε ένα μόνο υποκατάστημα.

Συνήθως, θα διασφαλίσετε (τουλάχιστον) ότι όλες οι αλλαγές σχετίζονται με ένα μόνο χαρακτηριστικό.

Η διαδικασία αποθήκευσης μιας αλλαγής ονομάζεται διαπράττοντας.

Κάθε δέσμευση που αναλαμβάνετε απαιτεί να προσθέσετε σημειώσεις σχετικά με το τι κάνατε – το VCS σας θα πρέπει να σημειώνει αυτόματα ότι ήσασταν το άτομο που διέπραξε την αλλαγή και πότε.

Διαχείριση δεσμεύσεων

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

Οι δεσμεύσεις έχουν τη δυνατότητα μπόνους που σας επιτρέπει να επαναφέρετε τις αλλαγές σας λίγο λίγο τη φορά.

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

Μπορείτε να σκεφτείτε τις δεσμεύσεις ως τμήματα των κλάδων.

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

Κλαδιά ώθησης

Τα υποκαταστήματα είναι επίσης χρήσιμα για την κοινή χρήση της εργασίας σας.

Για παράδειγμα, ας υποθέσουμε ότι συνεργάζεστε με πολλούς άλλους, και όλοι συνεισφέρετε σε ένα μόνο αποθετήριο.

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

Αποστολή της εργασίας σας

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

Η γενική διαδικασία έχει ως εξής:

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

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

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

συστήματα ελέγχου έκδοσης σύγκρισης

Σύγκριση και αντιπαραβολή κατανεμημένων (αποκεντρωμένων) έναντι κεντρικών συστημάτων ελέγχου έκδοσης

Ποιες είναι οι βασικές διαφορές μεταξύ ενός αποκεντρωμένου / κατανεμημένου συστήματος ελέγχου έκδοσης έναντι ενός κεντρικού συστήματος ελέγχου έκδοσης?

Η πιο προφανής διαφορά μεταξύ του κεντρικού και του αποκεντρωμένου VCS είναι από την άποψη της πρόσβασης και της ευκολίας.

Μειονεκτήματα ενός κεντρικού συστήματος

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

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

Με ένα κεντρικό σύστημα, προτού οι χρήστες σας μπορούν να ξεκινήσουν την επεξεργασία, πρέπει να:

  • Πρόσβαση στα κεντρικά αρχεία προέλευσης
  • Κατεβάστε το αντίγραφο εργασίας που χρειάζονται
  • Ελέγξτε το αντίγραφο εργασίας έτσι ώστε να είναι κλειδωμένα και να μην μπορούν να επεξεργαστούν από άλλους.

Αρχεία σε ένα κατανεμημένο σύστημα

Με ένα κατανεμημένο σύστημα, τα αρχεία είναι ήδη εκεί που τα χρειάζεστε.

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

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

Όταν είστε έτοιμοι να αρχίσετε να εργάζεστε, το μόνο που έχετε να κάνετε είναι να ανοίξετε τα αρχεία που έχετε «τραβήξει» στον υπολογιστή σας.

Το να έχετε όλα τα αρχεία που χρειάζεστε τοπικά είναι ένα τεράστιο πλεονέκτημα όσον αφορά την ταχύτητα και την αποτελεσματικότητα.

Η μόνη φορά που πρέπει να επικοινωνήσετε με τον διακομιστή είναι να τραβήξετε ένα αρχείο από αυτό ή να σπρώξετε ένα αρχείο σε αυτό.

Καθοριστικά πλεονεκτήματα και μειονεκτήματα ενός κατανεμημένου συστήματος

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

  • Προώθηση των αναθεωρήσεών τους σε όλους τους άλλους που εργάζονται στο έργο (πιέζοντας στον κλάδο προέλευσης και τραβώντας τις αναθεωρήσεις)
  • Αποστολή των αναθεωρήσεών τους σε επιλεγμένα μέλη της ομάδας για έλεγχο πριν τα καταστήσουν ορατά σε ολόκληρη την ομάδα.

Ωστόσο, ένα μεγάλο μειονέκτημα ενός κατανεμημένου VCS είναι ο χώρος που μπορεί να χρειαστεί ένα τοπικό αποθετήριο.

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

Αυτό το πρόβλημα ενισχύεται εάν πρέπει να κλωνοποιήσετε πολλαπλά αποθετήρια για ένα (ή ακόμα και πολλαπλά) έργα.

Γιατί είναι αυτά τα μειονεκτήματα;?

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

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

αποκεντρωμένος έλεγχος έκδοσης επιλογών

Επιλογές συστήματος ελέγχου κατανεμημένης έκδοσης

Όταν επιλέγετε ένα σύστημα ελέγχου έκδοσης (VCS), ποιες είναι οι επιλογές που έχετε στη διάθεσή σας?

Ποιο θα πρέπει να επιλέξετε?

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

Ας ελπίσουμε ότι αυτό σας βοηθά να επιλέξετε μια επιλογή που ταιριάζει στις ανάγκες σας. Εάν όχι, αυτή η λίστα θα σας βοηθήσει να ξεκινήσετε την αναζήτησή σας για την επιλογή που λειτουργεί!

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

Παζάρι

Το Bazaar είναι το σύστημα ελέγχου έκδοσης που χρηματοδοτείται από την Canonical, γραμμένο στο Python.

Ως έργο πολλαπλής πλατφόρμας, ανοιχτού κώδικα, οι χρήστες σε macOS, Linux και Windows μπορούν να χρησιμοποιήσουν αυτό το προϊόν.

Για χρήστες εξοικειωμένους με το Σύστημα ταυτόχρονης έκδοσης (CVS) ή το Subversion (SVN), οι εντολές Bazaar θα εμφανίζονται παρόμοιες.

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

Επίσης ενσωματώνεται καλά με άλλα VCS – μπορείτε να πραγματοποιήσετε αλλαγές στο SVN και μπορείτε να διαβάσετε αρχεία που παρακολουθούνται από το Git ή το Mercurial.

Μπορείτε επίσης να εξαγάγετε το ιστορικό Bazaar σε πολλά άλλα συστήματα.

Απολίθωμα

Το Fossil είναι ένα σύστημα ελέγχου διανομής πολλαπλών πλατφορμών, το οποίο περιλαμβάνει επίσης χαρακτηριστικά για:

  • Παρακολούθηση σφαλμάτων
  • Βικι
  • Blogging.

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

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

Ομοιότητες με το παζάρι

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

Το Fossil χρησιμοποιεί βάσεις δεδομένων SQLite για να αποθηκεύσει το περιεχόμενό του.

Γκιτ

Το Git είναι ένα σύστημα ελέγχου εκδόσεων που δημιουργήθηκε από τον «πατέρα του Linux», Linus Torvalds.

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

Πάνω απ ‘όλα, Git δίνει προτεραιότητα στην απόδοση.

Αυτό είναι σημαντικό όταν τα κατανεμημένα συστήματα ελέγχου έκδοσης απαιτούν:

  • Η αρχική λήψη όλων των αρχείων του έργου (όχι μόνο σε αυτά που επεξεργάζονται)
  • Ακεραιότητα δεδομένων
  • Υποστήριξη για μη γραμμικές ροές εργασίας.

Git σε διαφορετικές πλατφόρμες

Αν και το Git αναπτύχθηκε χρησιμοποιώντας Linux, είναι μια λύση πολλαπλών πλατφορμών.

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

Τα αρχεία για μεγάλα έργα χωρίζονται μερικές φορές σε πολλαπλά αποθετήρια.

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

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

GitHub

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

Εκτός από την υποστήριξη όλων των λειτουργιών ελέγχου έκδοσης και διαχείρισης πηγαίου κώδικα του Git, το GitHub προσφέρει:

  • Εργαλεία ελέγχου πρόσβασης
  • Εργαλεία παρακολούθησης σφαλμάτων
  • Διαχείριση αιτημάτων χαρακτηριστικών
  • Εργαλεία διαχείρισης εργασιών / παραγωγικότητας
  • Βικι.

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

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

Αυτό συμβαδίζει με την αφοσίωση του GitHub στον κώδικα ανοιχτού κώδικα.

Bitbucket

Το Bitbucket είναι η συμβολή της Atlassian στον κόσμο της φιλοξενίας μέσω διαδικτύου για χρήστες Git (και Mercurial).

Εκτός από τους δωρεάν λογαριασμούς του, το Bitbucket προσφέρει περισσότερα εμπορικά σχέδια πλούσια σε χαρακτηριστικά.

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

Οι δωρεάν λογαριασμοί λαμβάνουν απεριόριστο αριθμό ιδιωτικών αποθετηρίων, αν και ο αριθμός των συντελεστών είναι περιορισμένος.

Το Bitbucket θεωρείται συνήθως ως η επιλογή για επαγγελματίες προγραμματιστές δουλεύοντας με ιδιόκτητος πηγαίος κώδικας.

Η κύρια χρήση του είναι για την αναθεώρηση κώδικα και κώδικα, αν και το Bitbucket προσφέρει μερικά πρόσθετα όπως:

  • Τεκμηρίωση
  • Wiki
  • Στατικές δυνατότητες ιστότοπου.

GitLab

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

Σχέδια Gitlab Self-Hosted και Fully-Hosted

Το GitLab παρέχει τέσσερα διαφορετικά προγράμματα φιλοξενίας:

  • Πυρήνας: για μικρές ομάδες ή προσωπικά έργα (Ο πυρήνας είναι εντελώς δωρεάν για χρήση)
  • Μίζα: για προσωπικά έργα ή μικρές ομάδες που θέλουν επαγγελματική υποστήριξη.
  • Premium: για ομάδες που χρειάζονται υψηλή διαθεσιμότητα, υψηλή απόδοση ή υποστήριξη 24/7.
  • Ultimate: για μεγάλες επιχειρήσεις χρειάζονται πρόσθετη λειτουργικότητα ασφάλειας και συμμόρφωσης.

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

  • Core → Δωρεάν
  • Μίζα → Χάλκινο
  • Premium → Ασημί
  • Ultimate → Χρυσός

Δυνατότητα ισοτιμίας μεταξύ των σχεδίων Gitlab

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

Χρειάζεστε ένα ιδιωτικό αποθετήριο?

Για όσους από εσάς χρειάζεστε ένα ιδιωτικό αποθετήριο (ή πολλά ιδιωτικά αποθετήρια), μπορείτε να σκεφτείτε έντονα το GitLab.

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

Αστατος

Το Mercurial είναι ένα σύστημα ελέγχου έκδοσης διανεμημένης πλατφόρμας που είναι:

  • Υψηλή απόδοση
  • Εύκολα επεκτάσιμο
  • Δυνατότητα χειρισμού τόσο απλού κειμένου όσο και δυαδικών αρχείων
  • Προηγμένη στις δυνατότητες διακλάδωσης και συγχώνευσης.

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

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

επιλογές ελέγχου κεντρικής έκδοσης

Επιλογές συστήματος ελέγχου κεντρικής έκδοσης

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

Σύστημα ταυτόχρονων εκδόσεων (CVS)

Το Concurrent Versions System (CVS) είναι ένα δωρεάν λογισμικό ελέγχου έκδοσης.

Η καταγωγή του CVS κυκλοφόρησε με μια σειρά από σενάρια shell που στάλθηκαν στα μέσα του 1986.

Το CVS δεν διατηρείται πλέον (την τελευταία φορά που οι προγραμματιστές έστειλαν μια νέα κυκλοφορία ήταν το 2008), αλλά θα εξακολουθείτε να βρίσκετε κάποια άτομα που χρησιμοποιούν CVS.

Όταν χρησιμοποιείτε CVS, σημειώστε ότι η ορολογία που χρησιμοποιεί είναι ελαφρώς διαφορετική από εκείνη που χρησιμοποιείται από άλλα συστήματα ελέγχου εκδόσεων.

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

Το CVS καλεί τα αρχεία που ελέγχονται από προγραμματιστές να είναι το αντίγραφο εργασίας, το sandbox ή ο χώρος εργασίας.

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

Ανατροπή (SVN)

Το Apache’s Subversion (SVN) είναι ένα σύστημα ελέγχου εκδόσεων / αναθεώρησης ανοιχτού κώδικα.

Αναφέραμε ότι το Σύστημα Ταυτόχρονων Εκδόσεων (CVS) εξακολουθεί να έχει ορισμένους χρήστες, αλλά το CVS δεν έχει ενημερωθεί από το 2008.

Ως εκ τούτου, το Subversion έχει σχεδιαστεί για να λειτουργεί ως και χρησιμοποιείται συχνά ως, (ως επί το πλείστον) συμβατή εναλλακτική / διάδοχος του CVS.

Τι κάνει την αντιστροφή αξίζει τον κόπο?

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

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

Ένα από τα μεγαλύτερα προνόμια του Subversion είναι το ενσωματωμένο, λεπτομερείς άδειες Σύστημα.

Μπορείτε να περιορίσετε την πρόσβαση σε αρχεία και καταλόγους ανά χρήστη.

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

Εύκολη στη χρήση και στοχευμένη αγορά

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

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

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

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

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

Διακομιστής Team Foundation (TFS)

Ο Team Foundation Server (TFS) είναι η συμβολή της Microsoft στον κόσμο των συστημάτων ελέγχου εκδόσεων.

Το TFS περιλαμβάνει επίσης χαρακτηριστικά για:

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

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

Τι χρησιμοποιείται με το TFS?

Το TFS μπορεί να χρησιμοποιηθεί με πολλά διαφορετικά ενσωματωμένα περιβάλλοντα ανάπτυξης (IDE).

Είναι κατασκευασμένο ειδικά για χρήση με Visual Studio ή Εκλειψη.

Μπορείτε να κάνετε self-host TFS ή μπορείτε να εγγραφείτε στην φιλοξενούμενη έκδοση που ονομάζεται Visual Studio Team Services.

Επιπλέον, το TFS είναι ένα από τα λίγα προϊόντα που διαθέτουν ενσωματωμένη επεκτασιμότητα.

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

Περίληψη

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

Η διαφορά μεταξύ του Git, του CVS και του SVN, δεν είναι τόσο μεγάλη όσο η διαφορά μεταξύ του να μην έχεις έναντι ενός συστήματος ελέγχου έκδοσης.

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

Jeffrey Wilson Administrator
Sorry! The Author has not filled his profile.
follow me
    Like this post? Please share to your friends:
    Adblock
    detector
    map