Λοιπόν, αυτό αν νομίζω ότι θα είναι ένα αρκετά σύντομο σεμινάριο και ελπίζω να είναι διδακτικό;). Πρόκειται να κάνω ένα μικρό αποθετήριο στη διάθεσή σας στο github μου, ώστε να μπορείτε να στείλετε τα PR σας και ταυτόχρονα, ώστε να μπορείτε να εξασκήσετε πώς να κάνετε όλα τα βήματα που θα αφήσω παρακάτω. Εδώ είναι ο σύνδεσμος για να κάνετε το PR δοκιμής σας:
https://github.com/CodeLabora/TuPrimerPR
Λοιπόν, ας αναφέρουμε γρήγορα τα απαραίτητα βήματα για να στείλετε ένα PR
- πιρούνι
- Κλώνος
- Μακρινός
- Υποκατάστημα
- αλλαγές
- Πρόσθεση
- Διαπράττω
- Σπρώξτε
- PR
Τα βάζω στα αγγλικά, ώστε να βρουν τις αντίστοιχες επιλογές τους στη γραμμή εντολών git.
πιρούνι
Ένα πιρούνι είναι η δική σας έκδοση ενός αποθετηρίου Github. Αυτό σας επιτρέπει να κλωνοποιήσετε την εργασία ενός άλλου έργου και να το έχετε στον λογαριασμό σας, ώστε να μπορείτε να αλλάξετε πράγματα χωρίς να ανησυχείτε για την απώλεια των αλλαγών σας. Για να φτιάξετε ένα πιρούνι είναι απαραίτητο να μεταβείτε στη σελίδα και να κάνετε κλικ στο κουμπί Πιρούνι που βρίσκεται στο πάνω δεξί μέρος.
Μόλις ολοκληρωθεί το πιρούνι, θα δείτε ότι το αποθετήριο εμφανίζεται στον λογαριασμό σας.
Κλώνος
Τώρα που έχουμε ένα αποθετήριο θα το κλωνοποιήσουμε στην ομάδα μας. (Υποθέτω ότι τα άτομα που χρησιμοποιούν Linux με ακολουθούν, αλλά για χρήστες άλλων συστημάτων υπάρχουν επίσης εκδόσεις του git που μπορείτε να κατεβάσετε στην επίσημη σελίδα του.
Και με το τερματικό μας κάνουμε τα εξής.
Με αυτό θα έχουμε έναν νέο φάκελο που ονομάζεται TuPrimerPR στον οποίο θα είναι το έργο Github. Μπαίνουμε στο φάκελο με την εντολή «cd TuPrimerPR» και θα δούμε ότι μέσα υπάρχουν τα αρχεία που βρίσκονται στο πιρούνι μας.
(Σημειώστε ότι ο αριθμός των αρχείων ενδέχεται να ποικίλλει ανάλογα με το τι βρίσκουν στο αποθετήριο μου όταν διακινούνται)
Μακρινός
Αυτό είναι ένα προαιρετικό βήμα, αλλά αποφεύγει πολλά προβλήματα όταν εργάζεστε συνεχώς σε ένα έργο. Το Fork από προεπιλογή δημιουργεί ένα ακριβές αντίγραφο του αποθετηρίου, αλλά την ακριβή στιγμή της δημιουργίας. Αυτό σημαίνει ότι εάν το έργο συνεχίσει να προχωρά, το αποθετήριο σας θα μείνει πίσω με το πέρασμα των ημερών ή ωρών. Το "Git remote" μας επιτρέπει να καθορίσουμε ένα άλλο σημείο λήψης (το αρχικό έργο) και έτσι να μπορούμε να ενημερώνουμε το έργο μας κάθε φορά που βλέπουμε ότι το γονικό έργο ενημερώνεται.
Για να βρείτε το γονικό σας έργο, απλά πρέπει να χρησιμοποιήσετε τον σύνδεσμο που βρίσκεται ακριβώς κάτω από το όνομα του αποθετηρίου σας. (Ελέγξτε τη δεύτερη εικόνα της ενότητας Fork). Θα προσθέσουμε αυτές τις πληροφορίες παρακάτω:
Αυτό είναι το αρχικό έργο (θα το ονομάσουμε αντίθετα στο ρεύμα να συμβαδίζει με πολλά έργα).
Όπως μπορείτε να δείτε, έχω προσθέσει το τηλεχειριστήριο με »git remote add »
Με αυτό θα είμαστε σε θέση να ενημερώσουμε το έργο όταν είναι απαραίτητο, αλλά δεν θα το χρησιμοποιήσουμε τώρα, επειδή δεν είναι απαραίτητο. (Θα το εξηγήσω αργότερα, ή σε άλλη ανάρτηση, ανάλογα με την ανάγκη)
Υποκατάστημα
Οι κλάδοι (ή κλάδοι) σας επιτρέπουν να δημιουργήσετε ενότητες κώδικα που μπορείτε να εργαστείτε σε ένα απομονωμένο περιβάλλον. Αυτό σημαίνει ότι αυτό που κάνετε σε ένα υποκατάστημα δεν επηρεάζει απαραίτητα τον αρχικό κώδικα έως ότου χρησιμοποιηθεί το «git merge». Είναι επίσης μια επιπλέον λειτουργικότητα που σας επιτρέπει το Github, κάθε φορά που δημιουργείτε υποκατάστημα, το Github δημιουργεί αυτόματα την πηγή του αιτήματος τραβήγματος όταν είναι απαραίτητο.
Τώρα που είμαστε στον ειδικό κλάδο μας, μπορούμε να εργαστούμε για τη συμβολή μας.
αλλαγές
Πρόκειται να προσθέσω μερικά αρχεία, ώστε να μπορείτε να δείτε πώς γίνεται.
Το "Touch" μας επιτρέπει να δημιουργήσουμε ένα κενό αρχείο (αν δεν υπάρχει). με αυτό μπορούμε να προχωρήσουμε στο επόμενο βήμα μας.
Πρόσθεση
Το "Git add" μας επιτρέπει να προσθέτουμε αρχεία στη δέσμευσή μας (θα το εξηγήσω αργότερα). Για να δείτε ποια αρχεία μπορείτε να προσθέσετε, μπορείτε να χρησιμοποιήσετε την εντολή »git status»
Με αυτό έχουμε όλα έτοιμα για τη δέσμευσή μας
Διαπράττω
Οι δεσμεύσεις είναι σήματα (ή ορόσημα) στο χρόνο. ορίζουν μια κατάσταση για όλα τα αρχεία στο έργο και συσσωρεύουν τις απαραίτητες αλλαγές για να περάσουν από την αρχή του έργου στην τρέχουσα κατάσταση. Ακούγεται λίγο περίπλοκο, αλλά είναι αρκετά απλό, απλώς θυμηθείτε ότι είναι οι σκάλες του έργου σας. Γράφουμε »git commit» και θα έχουμε ένα παράθυρο για να γράψουμε το μήνυμα commit.
Και κατά την ολοκλήρωση και την αποθήκευση του κειμένου, θα δούμε κάτι σαν:
Όταν εμφανίζεται μια περίληψη για το τι κάνει η δέσμευση.
Σπρώξτε
Με το push ανεβάζουμε στον λογαριασμό μας Github όλες τις δεσμεύσεις που έχουμε στον υπολογιστή που δεν βρίσκονται στο αποθετήριο μας στο Διαδίκτυο. Αυτό θα επιτρέψει στο Github να δημιουργήσει αυτόματα το νέο PR.
Παρατηρήστε ότι χρησιμοποιούμε το όνομα του καταστήματός μας και ότι μας ζητά το όνομα χρήστη και τον κωδικό πρόσβασης. Στο τέλος μας δείχνει ότι ο κλάδος myImprovement έχει δημιουργηθεί στον λογαριασμό μας στο Github. Ας δούμε τι έχουμε επιτύχει στο πρόγραμμα περιήγησης. 😉
PR
Όπως μπορείτε να δείτε, δημιουργήθηκε μια νέα γραμμή με την ένδειξη "Σύγκριση και τράβηγμα αιτήματος". Αυτή η λειτουργία Github μας επιτρέπει να δημιουργήσουμε το PR με έναν απλό τρόπο, θα κάνουμε κλικ για να δούμε τι θα συμβεί.
Το Github είναι αρκετά έξυπνο. Όπως μπορείτε να δείτε, τμήματα της δέσμευσης προστίθενται στη φόρμα για υποβολή. Είναι απαραίτητο μόνο να κάνετε κλικ στο κουμπί και το voila 🙂 Απλό.
Εξτρα
Αυτό βρίσκεται πίσω από τα παρασκήνια των έργων, εμφανίζεται το PR και ο διαχειριστής αποφασίζει εάν θα αποδεχτεί ή όχι, ή θα γράψει περισσότερα μηνύματα. Στην περίπτωσή μου θα το αποδεχτώ αμέσως.
Μόλις ολοκληρωθεί η συγχώνευση, θα μπορούν να δουν το αρχείο καταγραφής δεσμεύσεων του έργου και να δουν το όνομά τους σε αυτό.
Αλλά τώρα έχουμε ένα πρόβλημα. Αυτή η δέσμευση δεν εμφανίζεται στο Nuestro αποθετήριο, μόνο στο έργο. Θυμάστε το απομακρυσμένο μας πέρασμα; Τώρα είναι όταν αποδίδει 🙂
Επιστρέφουμε στον κύριο κλάδο μας και κάνουμε τα εξής:
Με αυτό έχουμε κατεβάσει όλες τις πληροφορίες του αρχικού έργου στην ομάδα μας. Όπως μπορείτε να δείτε, η δέσμευσή μας εμφανίζεται εκεί. Τώρα πρόκειται να αποθηκεύσουμε όλη αυτήν την εργασία στο αποθετήριο Github για να μπορέσουμε να διαγράψουμε τον κλάδο που έχει τη συνεισφορά που έχουν ήδη προσθέσει στο έργο.
Τώρα που έχουμε το ενημερωμένο αποθετήριο Github, θα διαγράψουμε το υποκατάστημα μας, αλλά πρώτα βεβαιωθούμε ότι βρίσκεται μέσα στον κύριο κλάδο μας (κύριο)
Όπως μπορείτε να δείτε, είχα ένα μικρό σφάλμα, αυτό οφείλεται στο γεγονός ότι ήμουν στον κλάδο myImprovement όταν ήθελα να διαγράψω. Αυτό διορθώνεται επιστρέφοντας στον κύριο κλάδο.
Συμπέρασμα
Έγινε τόσο απλό. Τώρα που έχετε μάθει τα σκοτεινά μυστικά του Github για την αποστολή PR, ανυπομονώ να δω τις συνεισφορές σας σε διάφορα έργα. Και αν θέλετε μπορείτε να αφήσετε το πρώτο σας PR στο αποθετήριο μου 😉 για να το θυμάστε.
Δεν έχω αγγίξει χίλια και ένα οφέλη Git (OJO, όχι το Github) και όπως θα περίμενε κανείς από προγραμματιστές που είναι συνδεδεμένοι με την κοινότητα του πυρήνα, το Git είναι ένα εξαιρετικά ισχυρό εργαλείο, με εκατοντάδες χαρακτηριστικά.
Για να πάρετε μια καλύτερη ιδέα για το τι κάνει και για όλη τη δύναμη του Git, το συνιστώ ανεπιφύλακτα βιβλίο. Είμαι σίγουρος ότι θα σας βοηθήσει πολύ να βελτιώσετε τον χειρισμό του git.
Χαιρετίσματα και ελπίζω να σας βοηθήσει 😉
Εξαιρετικό σεμινάριο, ελπίζουμε ότι μπορείτε να συνεχίσετε να ψάχνετε στο Git. Ευχαριστώ!
Σαφή! Θα προσθέσω περισσότερο περιεχόμενο το συντομότερο δυνατό για αυτό και πολλά άλλα.
Άριστη
Πόσο καλή σας εξυπηρέτησε 😉 Χαιρετισμούς
Μόλις μπορώ να το εξασκήσω, σας ευχαριστώ πολύ, αυτό το σεμινάριο είναι αυτό που έψαχνα εδώ και πολύ καιρό αλλά δεν το βρήκα!
Πολύ καλά εξηγηθεί, από τα βασικά, σας ευχαριστώ Θα βελτιώσω τα captuas όταν έχετε χρόνο.