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

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

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

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

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

Έλεγχος έκδοσης - μια γρήγορη και βρώμικη επεξήγηση

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

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

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

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

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

dpcwqxg_312gvhkh4s6_b

Έλεγχος έκδοσης σχεδιαστή - FAIL

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

Οφέλη από τη χρήση ενός συστήματος ελέγχου έκδοσης περιλαμβάνουν:

  • Τα αρχεία δεν μπορούν να αντικατασταθούν
  • Υπάρχει ένας κοινός χώρος αποθήκευσης που περιέχει όλα τα πιο πρόσφατα αρχεία
  • Οι άνθρωποι μπορούν να δουλεύουν ταυτόχρονα με τα ίδια αρχεία χωρίς σύγκρουση
  • Σας επιτρέπει να επιστρέψετε σε μια παλαιότερη έκδοση του αρχείου / έργου, αν χρειαστεί
  • Κάνοντας τους προγραμματιστές σας πολύ χαρούμενοι

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

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

dpcwqxg_322grqgzjcz_b

Γνωρίστε το Git

Εντάξει, οπότε τώρα μπορείτε να δείτε γιατί ένα σύστημα ελέγχου έκδοσης είναι απαραίτητο για την ομάδα ιστού σας. Εάν κάνετε λίγο Googling θα δείτε ότι υπάρχουν αρκετές επιλογές έξω εκεί, συμπεριλαμβανομένων των SVN, Mercurial, CVS, Bazaar και Git. Οποιοσδήποτε από αυτούς θα μπορούσε να είναι μια καλή λύση για τις ανάγκες σας και σας ενθαρρύνω να κάνετε κάποια έρευνα πριν επιλέξετε ένα VCS. Σε αυτό το άρθρο θα επικεντρωθώ στο Git , αυτό που χρησιμοποιώ καθημερινά. Είναι ένα "ανερχόμενο αστέρι" που έχει κερδίσει τη δημοτικότητα χάρη σε ένα ισχυρό fanbase του Linux, GitHub και το Ράγες κοινότητα.

Το Git είναι ένα δωρεάν σύστημα ελέγχου έκδοσης ανοιχτού κώδικα το οποίο δημιουργήθηκε αρχικά από το Linus Torvalds για ανάπτυξη πυρήνα Linux. Ο Λίνους είναι ένας πολύ έξυπνος τύπος. όταν θέλει να επιλύσει ένα πρόβλημα, δεν ανακατεύει. Ένας από τους μεγάλους διαφοροποιητές του Git είναι ότι σε αντίθεση με το SVN και το CVS είναι α διανεμημένο σύστημα ελέγχου έκδοσης . Αυτό σημαίνει ότι κάθε χρήστης έχει ένα πλήρες αντίγραφο των δεδομένων αποθετηρίου που είναι αποθηκευμένα τοπικά στο μηχάνημά τους. Τι είναι τόσο σπουδαίο γι 'αυτό; Λίγα πράγματα:

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

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

      Η εγκατάσταση του Git δεν είναι διασκεδαστική και παιχνίδια. Είχα την τύχη να έχω έναν ενημερωμένο προγραμματιστή πρόθυμο να βοηθήσω, αλλά υπάρχουν αρκετοί πόροι σε απευθείας σύνδεση για να σας πάρει μέσα από αυτό. Θα λειτουργεί σε υπολογιστή, Mac ή Linux, αν και η εγκατάσταση για Linux και OSX είναι πολύ πιο εύκολη απ 'ό, τι για τα Windows.

      Μπορείτε να κατεβάσετε την τελευταία έκδοση του Git εδώ Μόλις έχετε τα αρχεία, δοκιμάστε αυτό γρήγορος οδηγός για να ξεκινήσετε με τη διαδικασία εγκατάστασης. Για χρήστες Windows, αυτό βήμα-βήμα οπτικό οδηγό θα πρέπει να είναι χρήσιμη. Χρήστες Mac, δοκιμάστε αυτόν τον οδηγό που βρέθηκε GitHub

      Ξεκινώντας

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

      cd path/to/projectgit initgit add .git commit

      Αυτό που λέτε στο Git είναι:

      • Αρχικοποιήστε αυτόν τον κατάλογο
      • Προσθέστε τα πάντα σε αυτό - όλα τα αρχεία και τους υποκαταλόγους
      • Αναθέστε ή αποθηκεύστε όλες τις τρέχουσες αλλαγές στο αποθετήριο

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

      Ένα στιγμιότυπο οθόνης του γραφικού περιβάλλοντος Git

      Μια ροή εργασίας Git δείγματος

      Αυτή τη στιγμή χρησιμοποιώ το Git σε Mac για να δουλέψω σε μια εφαρμογή ιστού με πολλούς προγραμματιστές ιστού. Έχουμε μια "βασική" έκδοση του κώδικα που προωθούμε τα αρχεία μας, και εμείς εκτελούμε κάθε ένα πλήρες αντίγραφο τοπικά. Σε οποιαδήποτε δεδομένη ημέρα, η ροή εργασίας μου συμβαίνει κάτι τέτοιο:

      dpcwqxg_323gnhgbwg3_b

      1. Φωτιάστε το τερματικό . Ξεκινήστε την τοπική βάση δεδομένων mysql μου (έτσι η εφαρμογή που χτίζουμε μπορεί να τρέξει τοπικά στο μηχάνημά μου).
      2. Χρησιμοποιήστε το τερματικό για να ελέγξετε τις τελευταίες αλλαγές χρησιμοποιώντας την εντολή "git pull" . Αυτό μου κάνει όλες τις αλλαγές που έγιναν από άλλα μέλη της ομάδας και ελέγχθηκαν στο master repository μας.
      3. Ανοίξτε το έργο στο TextMate και κάντε τις αλλαγές μου.
      4. Επαναλάβετε τις αλλαγές και προσθέστε τις σημειώσεις μου . Αυτό τους δεσμεύει μόνο τοπικά. Συμφωνώ συχνά, πιθανώς δέκα ή περισσότερες φορές την ημέρα. Αυτό με βοηθάει να με ακολουθώ.
      5. Πιέστε τις αλλαγές μου στο κύριο αποθετήριο χρησιμοποιώντας το "git push" . Τώρα, άλλα μέλη της ομάδας μπορούν να ελέγξουν και να δουν τις αλλαγές μου. Θα πρέπει να το κάνετε αυτό τουλάχιστον μία φορά την ημέρα ή μετά από οποιαδήποτε σημαντική προσθήκη.

      Όλες αυτές οι ενέργειες μπορούν να γίνουν εύκολα μέσω του παραθύρου του τερματικού , αλλά είμαι ένα οπτικό είδος κοριτσιού. Για το λόγο αυτό, χρησιμοποιώ GitX , ένα Git gui για OSX , για να κάνω τις δεσμεύσεις μου. Πάντα πιέζω και τραβούμαι από το Terminal, αλλά το GitX καθιστά εύκολο για μένα να οργανώσω τις δεσμεύσεις μου και να τυλίγω το κεφάλι μου γύρω από αυτό που κάνω.

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

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

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

      Το TextMate με το Git Bundle έχει εγκατασταθεί

      Μάθε περισσότερα

      Git Cheat Sheet

      Git Cheat Sheet από τον Zack Rusin

      Πάνω από: Το Git Cheat Sheet του Zack Rusin

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

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

      Intros To Git

      Γνωριμία με το Git
      Εισαγωγή στη Wikipedia στο Git
      Γιατί το Git είναι καλύτερο από το X
      Το TED του Linus Torvald μιλάει για το Git
      Μια περιοδεία του Git: Τα βασικά
      Git έτοιμο

      Cheat Sheets / Συμβουλές

      37 Σημεία Git Πόροι
      Git για τους θλιμμένους
      Το Εγχειρίδιο Χρήσης Git
      Ένα Gaggle of Git Συμβουλές
      Git Cheat Sheet του GitHub
      Git Magic

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

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


      Γράφτηκε αποκλειστικά για το WDD από τον Mindy Wagner. Είναι σχεδιαστής ιστοσελίδων στο Viget Labs και έχει εργαστεί τόσο σε έντυπα όσο και σε web design για πάνω από 8 χρόνια. Έχει πτυχίο στην ηλεκτρονική τέχνη και επικοινωνία από το Πολυτεχνείο Rensselaer.

      Χρησιμοποιείτε Git ή άλλο λογισμικό για τον έλεγχο της έκδοσης; Μοιραστείτε την εμπειρία σας μαζί μας!