Χρησιμοποιώντας το Git και το GitHub

Παράρτημα 3.5

Μεταφρασμένο Ποσοστό

Σε αυτό το κεφάλαιο θα:

  • Μάθετε πώς να χρησιμοποιείτε το GitHub για να ακολουθήσετε το παράδειγμα αυτού του βιβλίου.
  • Το GitHub είναι ένα social repository για projects ανοιχτού κώδικα που βασίζονται πάνω στο Git version control system, και η κύρια εφαρμογή του είναι να κάνει εύκολη την διαμοίραση κώδικα και την συνεργασία σε projects. Είναι όμως και ένα φανταστικό εργαλείο μαθήσεως. Σε αυτό το sidebar, θα κοιτάξουμε στα γρήγορα μερικούς τρόπους που μπορείτε να χρησιμοποιήσετε το GitHub ώστε να μπορέσετε να παρακολουθήσετε το Discover Meteor.

    Το sidebar αυτό υποθέτει ότι δεν είστε πολύ γνώριμοι με το Git και το GitHub. Εάν νιώθετε άνετα και με τα δύο, νιώστε ελεύθεροι να πάτε κατευθείαν στο επόμενο κεφάλαιο!

    Being Committed

    Το βασικό working block από ένα git repository είναι ένα commit. Μπορείτε να σκεφτείτε το commit ως ένα στιγμιότυπο από την κατάσταση του κώδικα σε μια στιγμή του χρόνου.

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

    Για παράδειγμα, έτσι φαίνεται το τελευταίο commit του τελευταίου κεφαλαίου:

    Ένα Git commit όπως φαίνεται στο GitHub.
    Ένα Git commit όπως φαίνεται στο GitHub.

    Εδώ βλέπετε το “diff” (για “difference”) απο το αρχείο post_item.js, με άλλα λόγια τις αλλαγές που εμφανίστηκαν με αυτό το commit. Σε αυτήν την περίπτωση, δημιουργήσαμε το post_item.js αρχείο εξ'αρχής, οπότε όλα τα περιεχόμενά του είναι επισημασμένο με πράσινο.

    Ας συγκρίνουμε με ένα παράδειγμα απο αργότερα στο βιβλίο:

    Κάνοντας αλλαγές στον κώδικα.
    Κάνοντας αλλαγές στον κώδικα.

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

    Βέβαια, μερικές φορές μπορεί να μην προσθέτετε ή να αλλάζετε γραμμές κώδικα, αλλά να τις διαγράφετε:

    Διαγραφή κώδικα.
    Διαγραφή κώδικα.

    Έτσι έχουμε δει την πρώτη χρήση του GitHub: βλέπωντας τι έχει αλλάξει με μια γρήγορη ματιά.

    Browsing A Commit’s Code

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

    Το GitHub μια ακόμη φορά μας σώζει. Όταν βρίσκεστε σε σελίδα commit, πατήστε το Browse code button:

    Το κουμπί Browse code.
    Το κουμπί Browse code.

    Τώρα θα έχετε πρόσβαση στο repository όπως είναι σε ένα συγκεκριμένο commit:

    Το repository στο commit 3-2.
    Το repository στο commit 3-2.

    ////

    The repository at commit 14-2.
    The repository at commit 14-2.

    Accessing A Commit Locally

    ////

    ////

    git clone git@github.com:DiscoverMeteor/Microscope.git github_microscope
    

    ////

    ////

    cd github_microscope
    

    ////

    ////

    git checkout chapter3-1
    Note: checking out 'chapter3-1'.
    
    You are in 'detached HEAD' state. You can look around, make experimental
    changes and commit them, and you can discard any commits you make in this
    state without impacting any branches by performing another checkout.
    
    If you want to create a new branch to retain commits you create, you may
    do so (now or later) by using -b with the checkout command again. Example:
    
      git checkout -b new_branch_name
    
    HEAD is now at a004b56... Added basic posts list template and static data.
    

    ////

    ////

    ////

    ////

    Finding a commit hash.
    Finding a commit hash.

    ////

    git checkout c7af59e425cd4e17c20cf99e51c8cd78f82c9932
    Previous HEAD position was a004b56... Added basic posts list template and static data.
    HEAD is now at c7af59e... Augmented the postsList route to take a limit
    

    ////

    git checkout master
    

    ////

    Historical Perspective

    ////

    ////

    GitHub's History button.
    GitHub’s History button.

    ////

    Displaying a file's history.
    Displaying a file’s history.

    The Blame Game

    ////

    GitHub's Blame button.
    GitHub’s Blame button.

    ////

    GitHub's Blame view.
    GitHub’s Blame view.

    ////