Έτσι μοιράζεστε την εργασία σας σε ένα απομακρυσμένο αποθετήριο git



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

Η εργασία σας προσθέτει περισσότερη αξία όταν δημοσιεύεται και κοινοποιείται στον κόσμο (ή στην ομάδα σας) !!!

Ξεκινώντας

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

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

Αυτό μας εμπνέει να προωθήσουμε τα δεδομένα μας στο επόμενο επίπεδο 'Remote repo' για να τα δημοσιεύσουμε σε απομακρυσμένο αποθετήριο.

Δεν είναι ήδη αποθηκευμένα τα δεδομένα μου σε μια βάση δεδομένων git;

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





Τι είναι ένα απομακρυσμένο αποθετήριο

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

Γυμνό αποθετήριο Το concept είναι ένα πρόσθετο πλεονέκτημα για ένα απομακρυσμένο αποθετήριο για να το διατηρήσει προστατευμένο και να χρησιμοποιηθεί για τον μοναδικό σκοπό της κοινής χρήσης του κώδικα μεταξύ των μελών της ομάδας.
Αυτό επιτυγχάνεται δηλώνοντας το απομακρυσμένο αποθετήριο ως γυμνό χρησιμοποιώντας το «--μόλις«Flag τη στιγμή της αρχικοποίησής της ως git αποθετήριο.
Με αυτόν τον τρόπο, το repo σας δημιουργείται με μεταδεδομένα git ή με άλλα λόγια αντικείμενα git που αποθηκεύονται μόνο στον κρυφό κατάλογο «.git» και δεν υπάρχει διαθέσιμο αντίγραφο εργασίας για οποιονδήποτε να προσθέσει απευθείας δεδομένα.
Εντολή:git init - γυμνό.

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



Δημιουργήστε ένα απομακρυσμένο αποθετήριο

Πρώτα απ 'όλα, πρέπει να αποφασίσετε για μια τοποθεσία στην οποία θέλετε να τοποθετήσετε το απομακρυσμένο repo σας.
Υπάρχουν αρκετά δημοφιλή αποθετήρια φιλοξενίας git που βασίζονται σε σύννεφο όπως - GitLab , BitBucket , GitHub , Αναγκαστικά και CloudForge για να αναφέρουμε μερικά.
Σε αυτήν την ανάρτηση, σκέφτομαι το GitHub καθώς αυτό είναι το μέρος που άρχισα αρχικά να διατηρώ τα αποθετήρια μου. Για να ξεκινήσετε, το μόνο που έχετε να κάνετε είναι να συνδεθείτε σε έναν λογαριασμό GitHub και στη συνέχεια δημιουργήστε ένα νέο αποθετήριο , δημιουργεί μια διεύθυνση URL που δείχνει αυτό το απομακρυσμένο repo.


Το Git υποστηρίζει πρωτόκολλα ssh, git, http και https για τη διεύθυνση URL ενός αποθετηρίου.

Εναλλακτικά, μπορείτε επίσης να τοποθετήσετε το έργο σας αλλού λέγοντας α Διακομιστής Linux ακολουθώντας τις παρακάτω εντολές-
cd $ ΑΡΧΙΚΗ
mkdir remote_repo
cd remote_repo
git init - γυμνό.

Συνδέστε το τηλεχειριστήριο στο τοπικό σας μηχάνημα

Η προσάρτηση ενός τηλεχειριστηρίου στο αντίγραφο εργασίας σας σημαίνει απλώς τη δημιουργία ενός χειριστής αναφοράς δείκτη για το τηλεχειριστήριο ή απλά ονομάζεται ' απομακρυσμένο χειριστή '
Ας πάμε στο έργο μου που θέλω να δημοσιεύσω-cd learnRemotes
Σύνταξη:git απομακρυσμένη προσθήκη
Εντολή:git remote add origin https://github.com/divyabhushan/learnRemotes.git

'Προέλευση είναι το Προκαθορισμένο όνομα αναφοράς για τον απομακρυσμένο χειριστή. ' (το απομακρυσμένο όνομα πρέπει να είναι κάποιο σχετικό όνομα)
Ας δούμε αν αυτό λειτούργησε, χρησιμοποιώντας την εντολή:git απομακρυσμένο

Έκανε :)

Εκτυπώστε επίσης το απομακρυσμένο URL μαζί με το όνομα:
git remote -v

Μπράβο! Είστε έτοιμοι να δημιουργήσετε μια σύνδεση με το απομακρυσμένο αποθετήριο από τον τοπικό κατάλογο εργασίας σας.

Ώρα για δημοσίευση

Σύνταξη:git push --all - ετικέτες[-u | --set-upstream]
Εντολή:git push origin master

Έτσι, το διαβάσατε ως 'Σπρώξτε τη διαφορά των δεσμεύσεων να προέρχονται από τον τοπικό κύριο' .

Εάν ελέγξετε τον λογαριασμό σας στο GitHub, οι τοπικές δεσμεύσεις (δεδομένα) πρέπει να εμφανίζονται εκεί-



Παρακολούθηση κλάδων

Έτσι, έχετε δημοσιεύσει με επιτυχία την εργασία σας στο απομακρυσμένο αποθετήριο.
Ωστόσο, είναι σημαντικό να δημιουργήσετε το τοπικό σας κατάστημα πίστα οι αλλαγές στον απομακρυσμένο κλάδο αυτόματα.
Χρησιμοποιήστε το '--set-upstreamή'Flag μαζί με την εντολή' git push '
Εντολή:git push -u αρχικός αρχηγός

χρωματισμένα κλαδιά


Ας δημιουργήσουμε περαιτέρω μια νέα δέσμευση στον κλάδο «master» και επαληθεύστε πώς το εντοπίζει το git-
Εντολή:κατάσταση git


Εμφάνιση των κλάδων παρακολούθησης σε ριζική λειτουργία
Εντολή:git branch -vv


Ως εκ τούτου, κάθε φορά, υπάρχει μια διαφορά στις δεσμεύσεις μεταξύ του τοπικού και του απομακρυσμένου αποθετηρίου σας στον κλάδο που παρακολουθείται, το Git θα σας ενημερώσει.
Δεν είναι τόσο ωραίο !!!

σχέση μεταξύ java και javascript

Πώς θα συνδεθούν άλλοι στο τηλεχειριστήριό σας;

Είναι ένα κομμάτι κέικ όταν εσύ κλώνος ένα απομακρυσμένο αποθετήριο !!!

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

Βήμα 1: Κλωνοποιήστε το απομακρυσμένο repo σας ως διαφορετικός χρήστης-
Εντολή:git clone https://github.com/divyabhushan/learnRemotes.git προγραμματιστής2
cd προγραμματιστής2

Βήμα 2: Εμφάνιση του τηλεχειριστηρίου και της διεύθυνσής του
Εντολή:git remote -v


Βήμα 3: Καταγράψτε τους κλάδους παρακολούθησης
Εντολή:git branch -vv


Η διασκέδαση ξεκινά όταν ο «προγραμματιστής2» θα ξεκινήσει τη δική του δουλειά και θα σπρώξει στο τηλεχειριστήριο.

Μπορείτε να συνδεθείτε και να συνεισφέρετε στο περισσότερα από ένα τηλεχειριστήρια αποθετήριο από ένα ενιαίο έργο .

Δείτε τα απομακρυσμένα κλαδιά

Εντολή:git branch -r


Χρησιμοποιήστε την επιλογή «-a» για να εκτυπώσετε τοπικά και απομακρυσμένα υποκαταστήματα, δοκιμάστε το στο τοπικό σας repo αφού δημιουργήσετε μερικά τοπικά υποκαταστήματα.

Πώς άλλοι συνεισφέρουν στο τηλεχειριστήριό σας;

Αρχική εγκατάσταση
Ο προγραμματιστής2 αποφασίζει να αλλάξει μερικά πράγματα όπως:
προς το. Δημιουργώ ένα νέο «χαρακτηριστικό» από την τελευταία δέσμευση στον κλάδο «master» και δημιουργήστε ένα νέα δέσμευση στον κλάδο «χαρακτηριστικό»
Εντολές:
git checkout -b χαρακτηριστικό
echo «βελτιώσεις λειτουργιών»> feature.txt
git add. && git commit -m 'βελτιώσεις λειτουργιών'

σι. Δημιουργώ έναν διαφορετικό κλάδο «feature2» από έναν παλαιότερο δεσμευτή στον κλάδο «master»
Εντολές:
git checkout -b feature2 95651fb
echo 'feature2 προστέθηκε'> feature2.txt
git add. && git commit -m 'Προσθήκη αλλαγών χαρακτηριστικών2'

Ας οπτικοποιήσουμε τους κλάδους στον υπολογιστή προγραμματιστή2 μαζί με τις πληροφορίες παρακολούθησης:

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

Η προώθηση αλλαγών σε απομακρυσμένο
Καταρχάς, επιτρέψτε μου να σπρώξω τον κλάδο «χαρακτηριστικό» στο απομακρυσμένο με τη σημαία «-set-upstream ή -u»
Εντολή:χαρακτηριστικό προέλευσης git push -u




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

Προς το παρόν, παραθέστε τα απομακρυσμένα κλαδιά με την εντολή: «git branch -r»




Ένας άλλος τρόπος παρακολούθησης απομακρυσμένου κλάδου
Επιπλέον, ας ρυθμίσουμε το υποκατάστημα «feature2» επίσης να δείχνει στον ίδιο κλάδο «χαρακτηριστικό» στο τηλεχειριστήριο
Εντολή:git branch --set-upstream-to = αρχικό / χαρακτηριστικό γνώρισμα2



κωδικοποιημένος κλάδος χρώματος


Μια γρήγορη συμβουλή: Μπορείτε να παραλείψετε το όνομα τοπικού υποκαταστήματος εάν βρίσκεστε ήδη σε αυτό το υποκατάστημα, με άλλα λόγια, το τοπικό υποκατάστημα είναι ήδη check-out.

Παραθέστε ξανά τους κλάδους σε λειτουργία με λέξεις, εντολή:git branch -vv



Σημειώστε ότι και οι δύο τοπικοί κλάδοι «χαρακτηριστικό» και «χαρακτηριστικό2» δείχνουν προς το ίδιο απομακρυσμένο υποκατάστημα «δυνατότητα».

Μείνετε συγχρονισμένοι με το τηλεχειριστήριο - φέρετε, τραβήξτε και πιέστε

Ας εξετάσουμε το μέρος όπου το απομακρυσμένο υποκατάστημα παρακολουθείτε έχει ήδη ενημερωθεί, τι γίνεται τότε;
Ενα απλό 'κατάσταση git'Ή'git ολοκλήρωση αγοράς«Ή ακόμα και το«git branch -vv«Η εντολή μας προειδοποιεί με τέτοια αναντιστοιχία-



Το 'Developer2' πρέπει πρώτα να ενημερώσει τις τοπικές αναφορές και αντικείμενα (' σκατά «) Και μετά συγχωνεύστε τις απομακρυσμένες και τοπικές αλλαγές (« git merge »).
Είναι ενδιαφέρον ότι μπορείτε να αντικαταστήσετε αυτές τις δύο εντολές με μία μόνο εντολή «git pull».
Σύνταξη:πηγαίνω Τραβήξτε

- για υποκατάστημα χωρίς παρακολούθηση
Σύνταξη: git pull [:]
Εντολή:git pull origin χαρακτηριστικό: χαρακτηριστικό2

- για κλαδί παρακολούθησης
Σύνταξη: git pull
Εντολή:τράβηγμα




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

Μετά το τράβηγμα του «προγραμματιστή2» (ανάκτηση και συγχώνευση) οι απομακρυσμένες τελευταίες αλλαγές πρέπει τώρα να δημοσιεύσουν τη δική του εργασία-
Εντολή:git push origin HEAD: χαρακτηριστικό
Σημείωση: το 'χαρακτηριστικό' κλάδου ανάντη δεν ταιριάζει με το τοπικό όνομα 'χαρακτηριστικό 2' υποκαταστήματος, πρέπει να το παράσχετε ρητά

πώς να δημιουργήσετε παράμετρο στο tableau



Υπενθύμιση : Το 'HEAD' είναι η τελευταία δέσμευση στον τοπικό κλάδο 'feature2'.

Πότε να χρησιμοποιήσετε το 'git fetch';
Σε στιγμές που έχετε την ανάγκη να ενημερώσετε το δικό σας κεφαλές αναφοράς χωρίς να κάνετε πραγματικά λήψη (τραβώντας) από το τηλεχειριστήριο.
Ή όταν οι απομακρυσμένοι κλάδοι έχουν τροποποιηθεί / διαγραφεί κατά την ενημέρωση, θα πρέπει να εκτελέσετε την εντολή ανάκτησης με το «--κλαδεύω«Επιλογή.
Ως βέλτιστη πρακτική, πρέπει να εκτελείτε την εντολή 'git fetch' κάθε φορά που αρχίζετε να εργάζεστε στο τοπικό σας repo.

Απομακρυσμένη διαχείριση

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

Μετονομασία απομακρυσμένου

Σύνταξη:git απομακρυσμένη μετονομασία
Εντολή:git απομακρυσμένη μετονομασία snv_repo svn
Για παράδειγμα, σκεφτείτε έναν διαχειριστή έργου που σχετίζεται με 3 έργα-


Διαγραφή απομακρυσμένης αναφοράς

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

Σύνταξη:git απομακρυσμένη αφαίρεση
Εντολή:git απομακρυσμένη αφαίρεση proj1


Τι γίνεται αν είχατε ρυθμίσει ένα τοπικό υποκατάστημα για να παρακολουθείτε έναν κλάδο από το καταργημένο αποθετήριο «proj1»;
Λοιπόν, σας τοπικό υποκατάστημα (και ως εκ τούτου το έργο) είναι ασφαλής και εξακολουθεί να είναι παρόν, μόνο του αναφορά απομακρυσμένης παρακολούθησης και διαμόρφωση οι ρυθμίσεις θα είναι αυτόματη κατάργηση

Διαγραφή απομακρυσμένου κλάδου

Πες σου κατά λάθος ώθησε το δικό σου προσωπικός σκληρή δουλειά σε ένα υποκατάστημα στο τηλεχειριστήριο αλλά δεν θέλετε οι άλλοι να το ελέγξουν ακόμη -
Αφαιρέστε το υποκατάστημα 'ημιτελής εργασία' από το τηλεχειριστήριο 'svn'-
Εντολή:git branch -vv# Λίστα των κλάδων απομακρυσμένης παρακολούθησης



Σύνταξη:git push - διαγραφή
Εντολή:git push - διαγραφή svn ημιτελής


Εκκαθάριση

Με αυτό, καταλήγουμε στο τέλος αυτού του άρθρου. Αν το βρήκατε ' Φροντιστήριο ' σχετικό, δείτε το από την Edureka, μια αξιόπιστη διαδικτυακή εταιρεία εκμάθησης με δίκτυο περισσότερων από 250.000 ικανοποιημένων μαθητών σε όλο τον κόσμο. Το μάθημα Εκπαίδευσης Πιστοποίησης Edureka DevOps βοηθά τους μαθητές να αποκτήσουν εμπειρία σε διάφορες διαδικασίες και εργαλεία DevOps, όπως Puppet, Jenkins, Nagios και GIT για την αυτοματοποίηση πολλαπλών βημάτων στο SDLC.