Απλός οδηγός για να κάνετε το πρώτο σας PR (Pull Request)

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

https://github.com/CodeLabora/TuPrimerPR

Λοιπόν, ας αναφέρουμε γρήγορα τα απαραίτητα βήματα για να στείλετε ένα PR

  1. πιρούνι
  2. Κλώνος
  3. Μακρινός
  4. Υποκατάστημα
  5. αλλαγές
  6. Πρόσθεση
  7. Διαπράττω
  8. Σπρώξτε
  9. PR

Τα βάζω στα αγγλικά, ώστε να βρουν τις αντίστοιχες επιλογές τους στη γραμμή εντολών git.

πιρούνι

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

Τα δικά. Christopher Diaz Riveros

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

Τα δικά. Christopher Diaz Riveros

Κλώνος

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

Τα δικά. Christopher Diaz Riveros

Και με το τερματικό μας κάνουμε τα εξής.

Τα δικά. Christopher Diaz Riveros

Με αυτό θα έχουμε έναν νέο φάκελο που ονομάζεται TuPrimerPR στον οποίο θα είναι το έργο Github. Μπαίνουμε στο φάκελο με την εντολή «cd TuPrimerPR» και θα δούμε ότι μέσα υπάρχουν τα αρχεία που βρίσκονται στο πιρούνι μας.

Τα δικά. Christopher Diaz Riveros

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

Μακρινός

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

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

Τα δικά. Christopher Diaz Riveros

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

Τα δικά. Christopher Diaz Riveros

Όπως μπορείτε να δείτε, έχω προσθέσει το τηλεχειριστήριο με »git remote add »

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

Υποκατάστημα

Οι κλάδοι (ή κλάδοι) σας επιτρέπουν να δημιουργήσετε ενότητες κώδικα που μπορείτε να εργαστείτε σε ένα απομονωμένο περιβάλλον. Αυτό σημαίνει ότι αυτό που κάνετε σε ένα υποκατάστημα δεν επηρεάζει απαραίτητα τον αρχικό κώδικα έως ότου χρησιμοποιηθεί το «git merge». Είναι επίσης μια επιπλέον λειτουργικότητα που σας επιτρέπει το Github, κάθε φορά που δημιουργείτε υποκατάστημα, το Github δημιουργεί αυτόματα την πηγή του αιτήματος τραβήγματος όταν είναι απαραίτητο.

Τα δικά. Christopher Diaz Riveros

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

αλλαγές

Πρόκειται να προσθέσω μερικά αρχεία, ώστε να μπορείτε να δείτε πώς γίνεται.

Τα δικά. Christopher Diaz Riveros

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

Πρόσθεση

Το "Git add" μας επιτρέπει να προσθέτουμε αρχεία στη δέσμευσή μας (θα το εξηγήσω αργότερα). Για να δείτε ποια αρχεία μπορείτε να προσθέσετε, μπορείτε να χρησιμοποιήσετε την εντολή »git status»

Τα δικά. Christopher Diaz Riveros

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

Διαπράττω

Οι δεσμεύσεις είναι σήματα (ή ορόσημα) στο χρόνο. ορίζουν μια κατάσταση για όλα τα αρχεία στο έργο και συσσωρεύουν τις απαραίτητες αλλαγές για να περάσουν από την αρχή του έργου στην τρέχουσα κατάσταση. Ακούγεται λίγο περίπλοκο, αλλά είναι αρκετά απλό, απλώς θυμηθείτε ότι είναι οι σκάλες του έργου σας. Γράφουμε »git commit» και θα έχουμε ένα παράθυρο για να γράψουμε το μήνυμα commit.

Τα δικά. Christopher Diaz Riveros

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

Τα δικά. Christopher Diaz Riveros

Όταν εμφανίζεται μια περίληψη για το τι κάνει η δέσμευση.

Σπρώξτε

Με το push ανεβάζουμε στον λογαριασμό μας Github όλες τις δεσμεύσεις που έχουμε στον υπολογιστή που δεν βρίσκονται στο αποθετήριο μας στο Διαδίκτυο. Αυτό θα επιτρέψει στο Github να δημιουργήσει αυτόματα το νέο PR.

Τα δικά. Christopher Diaz Riveros

Παρατηρήστε ότι χρησιμοποιούμε το όνομα του καταστήματός μας και ότι μας ζητά το όνομα χρήστη και τον κωδικό πρόσβασης. Στο τέλος μας δείχνει ότι ο κλάδος myImprovement έχει δημιουργηθεί στον λογαριασμό μας στο Github. Ας δούμε τι έχουμε επιτύχει στο πρόγραμμα περιήγησης. 😉

PR

Τα δικά. Christopher Diaz Riveros

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

Τα δικά. Christopher Diaz Riveros

Το Github είναι αρκετά έξυπνο. Όπως μπορείτε να δείτε, τμήματα της δέσμευσης προστίθενται στη φόρμα για υποβολή. Είναι απαραίτητο μόνο να κάνετε κλικ στο κουμπί και το voila 🙂 Απλό.

Εξτρα

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

Τα δικά. Christopher Diaz Riveros

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

Τα δικά. Christopher Diaz Riveros

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

Επιστρέφουμε στον κύριο κλάδο μας και κάνουμε τα εξής:

Τα δικά. Christopher Diaz Riveros

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

Τα δικά. Christopher Diaz Riveros

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

Τα δικά. Christopher Diaz Riveros

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

Συμπέρασμα

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

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

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

Χαιρετίσματα και ελπίζω να σας βοηθήσει 😉


Αφήστε το σχόλιό σας

Η διεύθυνση email σας δεν θα δημοσιευθεί. Τα υποχρεωτικά πεδία σημειώνονται με *

*

*

  1. Υπεύθυνος για τα δεδομένα: Miguel Ángel Gatón
  2. Σκοπός των δεδομένων: Έλεγχος SPAM, διαχείριση σχολίων.
  3. Νομιμοποίηση: Η συγκατάθεσή σας
  4. Κοινοποίηση των δεδομένων: Τα δεδομένα δεν θα κοινοποιούνται σε τρίτους, εκτός από νομική υποχρέωση.
  5. Αποθήκευση δεδομένων: Βάση δεδομένων που φιλοξενείται από τα δίκτυα Occentus (ΕΕ)
  6. Δικαιώματα: Ανά πάσα στιγμή μπορείτε να περιορίσετε, να ανακτήσετε και να διαγράψετε τις πληροφορίες σας.

  1.   Κρίστιαν Αμπράουα dijo

    Εξαιρετικό σεμινάριο, ελπίζουμε ότι μπορείτε να συνεχίσετε να ψάχνετε στο Git. Ευχαριστώ!

  2.   ChrisADR dijo

    Σαφή! Θα προσθέσω περισσότερο περιεχόμενο το συντομότερο δυνατό για αυτό και πολλά άλλα.

  3.   Gustavo dijo

    Άριστη

    1.    ChrisADR dijo

      Πόσο καλή σας εξυπηρέτησε 😉 Χαιρετισμούς

  4.   Απρ dijo

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

  5.   Ch3ssMaster dijo

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