Τα βασικά του Git εξήγησαν σε πέντε λεπτά

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

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

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

Εδώ θα καλύψουμε:

  1. Git κλώνος
  2. Git ολοκλήρωση αγοράς
  3. Τσιτς
  4. Git προσθήκη και δέσμευση
  5. Git stash και συγχώνευση
  6. Σκατά

Git κλώνος

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

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

git clone //github.com/JamesOkunlade/old-apple.git

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

git clone //github.com/JamesOkunlade/old-apple.git -b branch-name

Git ολοκλήρωση αγοράς

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

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

Εάν ο κλάδος είχε ήδη δημιουργηθεί:

git checkout branch-name

Και αν δημιουργείτε μόνο τον νέο κλάδο λειτουργιών:

git checkout -b branch-name

Τσιτς

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

Git προσθήκη και δέσμευση

Οι εντολές προσθήκης και δέσμευσης Git χρησιμοποιούνται σχεδόν πάντα μαζί. Σκεφτείτε τους ως λήψη και αποθήκευση. Δεν μπορείτε να αποθηκεύσετε ένα πράγμα εάν δεν το συλλάβετε πρώτα. Ως εκ τούτου, η εντολή add πρέπει πάντα να προηγείται της εντολής commit. Ενώ χρησιμοποιείτε την εντολή προσθήκης για να δείξετε το συγκεκριμένο αρχείο που θέλετε να καταγράψετε στην τρέχουσα κατάσταση, χρησιμοποιείτε τη δέσμευση για να αποθηκεύσετε ένα αντίγραφο αυτού που καταγράψατε.

Για να καταγράψετε όλα τα αρχεία (εκτός από αυτά που εξαιρούνται από το Git Αγνοήστε), θα χρησιμοποιήσετε git add .και για να καταγράψετε την τρέχουσα κατάσταση ενός συγκεκριμένου αρχείου, ας πούμε index.html, θα πρέπει να πληκτρολογήσετεgit add index.html

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

git commit -m ‘commit message’

Το μήνυμα δέσμευσης θα πρέπει να εξηγεί την ιδιαιτερότητα του στιγμιότυπου που αποθηκεύετε. Για παράδειγμα:

git add index.html

git commit -m ‘the form feature button created’

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

git add index.html && git commit -m ‘footer html structure created’

Git stash και συγχώνευση

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

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

Όταν κάνετε check out στον κύριο κλάδο, το git merge development θα συγχωνεύσει τον κλάδο ανάπτυξης στον κύριο κλάδο σας και αντίστροφα.

Σκατά

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

git push -u origin branch-name

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

Μη διστάσετε να επικοινωνήσετε και να μου ρωτήσετε τυχόν ερωτήσεις στο Twitter

James Okunlade (@JamesOkunlade) | Κελάδημα

Τα τελευταία Tweets από τον James Okunlade (@JamesOkunlade). Πλήρης στοίβα SWE | JavaScript / React / Redux | Ruby / Ruby on Rails |… twitter.com

def JamesOkunlade (beginnerDeveloper)
 unless you have a coding buddy OR you’re making a lot of money
 doing it
 puts “Coding is not fun!”
 end
end

Είμαι από τη Νιγηρία και συνδυάζω πρόγραμμα καθημερινά με τον φίλο μου κωδικοποίησης από το Μπαγκλαντές και άλλους devs από τη Σερβία, το Κοσσυφοπέδιο και την Ουκρανία. Όλοι βοήθησαν τη χρήση του Git.

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

James Okunlade - Προγραμματιστής λογισμικού - Filmdrive | LinkedIn

Δείτε το προφίλ του James Okunlade στο LinkedIn, τη μεγαλύτερη επαγγελματική κοινότητα στον κόσμο. Ο James έχει 2 θέσεις εργασίας στο… www.linkedin.com