Τα καλύτερα μαθήματα Git

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

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

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

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

Το freeCodeCamp διαθέτει μια λίστα αναπαραγωγής YouTube με πολλές πρακτικές συμβουλές Git και GitHub εδώ.

Άλλα σεμινάρια:

  • Το βιβλίο Pro Git, που γράφτηκε από τους Scott Chacon και Ben Straub και εκδόθηκε από την Apress. Το βιβλίο εμφανίζεται πλήρως στην τεκμηρίωση του Git.
  • Για λήψεις, τεκμηρίωση και φροντιστήριο βασισμένο σε πρόγραμμα περιήγησης: Git επίσημος ιστότοπος
  • Οι πιο χρήσιμες εντολές όταν βρίσκεστε σε κακή κατάσταση GIT: Oh s ***, git!

Κατανοήστε τις τρεις ενότητες ενός έργου Git

Ένα έργο Git θα έχει τις ακόλουθες τρεις κύριες ενότητες:

  1. Κατάλογος Git
  2. Κατάλογος εργασίας (ή δέντρο εργασίας)
  3. Περιοχή στάσης

Ο κατάλογος Git (που βρίσκεται YOUR-PROJECT-PATH/.git/) είναι όπου το Git αποθηκεύει ό, τι χρειάζεται για να παρακολουθεί με ακρίβεια το έργο. Αυτό περιλαμβάνει μεταδεδομένα και βάση δεδομένων αντικειμένων που περιλαμβάνει συμπιεσμένες εκδόσεις των αρχείων έργου.

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

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

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

Εγκαταστήστε το Git

  • Ubuntu: sudo apt-get install git
  • Windows: Λήψη
  • Mac: Λήψη

Διαμορφώστε το περιβάλλον Git

Το Git διαθέτει ένα git configεργαλείο που σας επιτρέπει να προσαρμόσετε το περιβάλλον Git. Μπορείτε να αλλάξετε τον τρόπο εμφάνισης και λειτουργίας του Git ρυθμίζοντας ορισμένες μεταβλητές διαμόρφωσης. Εκτελέστε αυτές τις εντολές από μια διεπαφή γραμμής εντολών στο μηχάνημά σας (Terminal σε Mac, Command Prompt ή Powershell στα Windows).

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

  1. Σύστημα: βρίσκεται στο /etc/gitconfig, εφαρμόζει τις προεπιλεγμένες ρυθμίσεις σε κάθε χρήστη του υπολογιστή. Για να κάνετε αλλαγές σε αυτό το αρχείο, χρησιμοποιήστε την --systemεπιλογή με την git configεντολή.
  2. Χρήστης: βρίσκεται στο ~/.gitconfigή ~/.config/git/config, εφαρμόζει ρυθμίσεις σε έναν μόνο χρήστη. Για να κάνετε αλλαγές σε αυτό το αρχείο, χρησιμοποιήστε την --globalεπιλογή με την git configεντολή.
  3. Έργο: βρίσκεται στο YOUR-PROJECT-PATH/.git/config, εφαρμόζει ρυθμίσεις μόνο για το έργο. Για να κάνετε αλλαγές σε αυτό το αρχείο, χρησιμοποιήστε την git configεντολή.

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

Σημείωση για χρήστες Windows: Το Git αναζητά το αρχείο διαμόρφωσης σε επίπεδο χρήστη ( .gitconfig) στον $HOMEκατάλογό σας ( C:\Users\$USER). Το Git αναζητά επίσης /etc/gitconfig, παρόλο που σχετίζεται με τη ρίζα MSys, όπου κι αν αποφασίσετε να εγκαταστήσετε το Git στο σύστημα των Windows όταν εκτελείτε το πρόγραμμα εγκατάστασης. Εάν χρησιμοποιείτε την έκδοση 2.x ή νεότερη έκδοση του Git για Windows, υπάρχει επίσης ένα αρχείο διαμόρφωσης επιπέδου συστήματος C:\Documents and Settings\All Users\Application Data\Git\configστα Windows XP και στα C:\ProgramData\Git\configWindows Vista και νεότερα. Αυτό το αρχείο git config -f FILEδιαμόρφωσης μπορεί να αλλάξει μόνο ως διαχειριστής.

Προσθέστε το όνομα και το email σας

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

git config --global user.name "My Name" git config --global user.email "[email protected]"

Αλλαγή του προγράμματος επεξεργασίας κειμένου

Το Git χρησιμοποιεί αυτόματα το προεπιλεγμένο πρόγραμμα επεξεργασίας κειμένου, αλλά μπορείτε να το αλλάξετε. Ακολουθεί ένα παράδειγμα για τη χρήση του προγράμματος επεξεργασίας Atom (η --waitεπιλογή λέει στο κέλυφος να περιμένει τον επεξεργαστή κειμένου, ώστε να μπορείτε να κάνετε τη δουλειά σας σε αυτό πριν προχωρήσει το πρόγραμμα):

git config --global core.editor "atom --wait"

Προσθήκη χρώματος στην έξοδο Git

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

git config --global color.ui true

Για να δείτε όλες τις ρυθμίσεις διαμόρφωσης, χρησιμοποιήστε την εντολή git config --list.

Αρχικοποιήστε το Git σε ένα έργο

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

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

Λάβετε βοήθεια στο Git

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

git help COMMAND git COMMAND --help man git-COMMAND

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

  • fή spacebarστη σελίδα προς τα εμπρός
  • b στη σελίδα πίσω
  • q να σταματήσω

Διαφορά μεταξύ Git και GitHub

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

Το Git δεν είναι το GitHub

Γκιτ

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

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

GitHub

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

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

Το GitHub δεν είναι το μόνο που παρέχει τέτοιου είδους υπηρεσίες. Ένας από τους σημαντικότερους ανταγωνιστές της είναι η GitLab. Για περισσότερα σχετικά με αυτό, ανατρέξτε στην ενότητα σχετικά με το Git hosting.

Τρόπος ελέγχου ταυτότητας με το GitHub χρησιμοποιώντας SSH

Βεβαιωθείτε ότι δεν υπάρχουν rsaαρχεία εδώ πριν συνεχίσετε, χρησιμοποιήστε:

ls -al ~/.ssh

Εάν δεν υπάρχει τίποτα στη λίστα (δηλαδή : No such file or directory), χρησιμοποιήστε:

mkdir $HOME/.ssh

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

ssh-keygen -t rsa -b 4096 -C [email protected]

Τώρα χρησιμοποιώντας ls -al ~/.sshθα δείξει το id_rsa.pubαρχείο μας .

Προσθέστε το κλειδί SSH στον παράγοντα SSH:

eval "$(ssh-agent -s)" # for mac and Linux from bash
eval `ssh-agent -s` ssh-agent -s # for Windows

Προσθέστε το κλειδί RSA στο SHH με:

ssh-add ~/.ssh/id_rsa

Αντιγράψτε το κλειδί σας στο πρόχειρο

clip < ~/.ssh/id_rsa.pub # Windows
cat ~/.ssh/id_rsa.pub # Linux

Μεταβείτε στη σελίδα ρυθμίσεων του GitHub και κάντε κλικ στην επικόλληση κουμπιού "Νέο κλειδί SSH" στο κλειδί που δημιουργήσατε.

Στη συνέχεια, πραγματοποιήστε έλεγχο ταυτότητας με:

ssh -T [email protected]