Πώς να διαγράψετε ένα υποκατάστημα στο Git τοπικά και απομακρυσμένα

Πώς να διαγράψετε ένα υποκατάστημα στο Git τοπικά και απομακρυσμένα

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





πώς βλέπω μια εικόνα του σπιτιού μου στο google earth;

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





Γιατί να διαγράψω ένα υποκατάστημα;

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





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

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



Ένα δείγμα αποθετηρίου με κλαδιά

Τα ακόλουθα παραδείγματα αναφέρονται σε ένα αποθετήριο δείγματος με την ακόλουθη δομή:

$ git branch -vv
1 dev 1ae41e8 [origin/dev] first commit
2 * main 1ae41e8 [origin/main] first commit

Σημειώστε ότι κάθε τοπικό υποκατάστημα έχει έναν αντίστοιχο ανάντη κλάδο από το τηλεχειριστήριο: προέλευση Το





Διαγραφή κλάδου χρησιμοποιώντας τη γραμμή εντολών

Η βασική σύνταξη εντολών για διαγραφή κλάδου είναι:

git branch (-d | -D) [-r] ...

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





$ git branch -d dev

Δεν μπορείτε να διαγράψετε τον κλάδο που είναι ενεργός αυτήν τη στιγμή. αν το προσπαθήσετε, θα λάβετε ένα μήνυμα σαν αυτό:

error: Cannot delete branch 'main' checked out at '/tmp/sandbox'

Όταν τα πράγματα πάνε σωστά, θα δείτε ένα μήνυμα επιβεβαίωσης:

Deleted branch dev (was 1ae41e8).

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

error: The branch ‘dev’ is not fully merged.
If you are sure you want to delete it, run 'git branch -D dev’.

Όπως ενημερώνει το μήνυμα σφάλματος, μπορείτε να αναγκάσετε τη διαγραφή με το -ΡΕ σημαία. Ωστόσο, το git θα σας επιτρέψει να διαγράψετε ένα μη συγχωνευμένο τοπικό υποκατάστημα εάν υπάρχει από απόσταση:

warning: deleting branch ‘dev’ that has been merged to
'refs/remotes/origin/dev’, but not yet merged to HEAD.
Deleted branch dev (was 9a6d20b).

Η διαγραφή ενός απομακρυσμένου κλάδου είναι πολύ διαφορετική. Θα χρησιμοποιήσετε το git push εντολή μαζί με το -ρε σημαία για διαγραφή. Μετά από αυτό, δώστε το όνομα του τηλεχειριστηρίου (συχνά προέλευση ) και το όνομα κλάδου:

$ git push -d origin dev
To github.com:bobbykjack/sandbox.git
- [deleted] dev

Διαγραφή τοπικών και απομακρυσμένων κλάδων με επιτραπέζιο υπολογιστή GitHub

Σε αντίθεση με το πρόγραμμα git της γραμμής εντολών, Η εφαρμογή επιφάνειας εργασίας του GitHub θα σας επιτρέψει να διαγράψετε μόνο τον ενεργό κλάδο. Μπορείτε να πραγματοποιήσετε αυτήν την ενέργεια μέσω του Κλαδί μενού, επιλέγοντας το Διαγράφω επιλογή και επιβεβαίωση:

Το GitHub Desktop δεν θα σας επιτρέψει να διαγράψετε τον προεπιλεγμένο κλάδο - π.χ. κύριο - παρόλο που το ίδιο το git το υποστηρίζει αυτό. Εάν ο προεπιλεγμένος κλάδος είναι αυτός που είναι ενεργός αυτήν τη στιγμή, η εφαρμογή απενεργοποιεί την ενέργεια μενού.

Εάν ο κλάδος αντιπροσωπεύει επίσης έναν απομακρυσμένο κλάδο, το GitHub Desktop δίνει τη δυνατότητα διαγραφής του και από το τηλεχειριστήριο:

Διαγραφή υποκαταστημάτων χρησιμοποιώντας το GitKraken

GitCrack εμφανίζει τους τοπικούς και απομακρυσμένους κλάδους του αποθετηρίου σας στην αριστερή πλευρική γραμμή. Πρέπει να διαγράψετε το καθέναχωριστάΤο

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

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

Αντικατοπτρίζοντας την προεπιλεγμένη συμπεριφορά του προγράμματος γραμμής εντολών git, πρέπει πρώτα να μεταβείτε σε έναν κλάδο διαφορετικό από αυτόν που διαγράφετεΤο Διαφορετικά, θα δείτε ένα μήνυμα σφάλματος:

Διαγραφή τοπικών και απομακρυσμένων υποκαταστημάτων χρησιμοποιώντας τον Πύργο

Διαγραφή υποκαταστήματος με Πύργος μοιάζει πολύ με τη διαγραφή ενός κλάδου με το GitKraken. Τα τοπικά και απομακρυσμένα κλαδιά εμφανίζονται σε ένα πλαίσιο στην αριστερή πλευρά. Κάντε δεξί κλικ σε οποιοδήποτε κλάδο και επιλέξτε την επιλογή Διαγραφή από το μενού περιβάλλοντος:

Μια βασική διαφορά είναι ότι ένα απομακρυσμένο υποκατάστημα μπορεί να διαγραφεί μαζί με το τοπικό του υποκατάστημα, κατά την επιβεβαίωση:

Διαγραφή υποκαταστήματος στο GitHub

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

Όπως και με την εφαρμογή GitHub Desktop, ο ιστότοπος του GitHub δεν θα σας επιτρέψει να διαγράψετε τον προεπιλεγμένο κλάδο. Η επιλογή απλά δεν εμφανίζεται. Ωστόσο, η διαγραφή ενός υποκαταστήματος είναι απλή. Από το αποθετήριο Κώδικας σελίδα, κάντε κλικ στο κλαδια δεντρου σύνδεσμο, εντοπίστε το υποκατάστημα που θέλετε να διαγράψετε και, στη συνέχεια, κάντε κλικ στο Διαγράψτε αυτόν τον κλάδο εικονίδιο, το οποίο μοιάζει με κάδο απορριμμάτων:

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

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

Διαγραφή τοπικών και απομακρυσμένων υποκαταστημάτων στο Bitbucket

Το Bitbucket, όπως το GitHub, δεν θα σας επιτρέψει να διαγράψετε τον προεπιλεγμένο κλάδο. Το Bitbucket το ονομάζει αυτό Κύριο κατάστημα σε Ρυθμίσεις αποθετηρίου Το Μπορείτε να διαγράψετε οποιοδήποτε άλλο υποκατάστημα που αναφέρεται στο Κλαδια δεντρου καρτέλα, μέσω της αντίστοιχης Ενέργειες μενού:

Μπορείτε επίσης να διαγράψετε περισσότερους από έναν κλάδους ταυτόχρονα εάν κάνετε μια μεγάλη διαδικασία καθαρισμού:

Η διαγραφή κλάδων είναι μέρος μιας τυπικής ροής εργασίας Git

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

Μερίδιο Μερίδιο Τιτίβισμα ΗΛΕΚΤΡΟΝΙΚΗ ΔΙΕΥΘΥΝΣΗ Πώς να χρησιμοποιήσετε τα Git Branches για να δομήσετε το έργο προγραμματισμού σας

Σε αυτό το άρθρο θα εξετάσουμε τι σημαίνει διακλάδωση του κώδικα σας, πώς να το κάνετε και τρόπους διαχείρισης ενημερώσεων στον «κύριο» κλάδο git.

Διαβάστε Επόμενο
Σχετικά θέματα
  • Προγραμματισμός
  • GitHub
Σχετικά με τον Συγγραφέα Μπόμπι Τζακ(Δημοσιεύθηκαν 58 άρθρα)

Ο Bobby είναι λάτρης της τεχνολογίας που εργάστηκε ως προγραμματιστής λογισμικού για περισσότερες από δύο δεκαετίες. Είναι παθιασμένος με το gaming, εργάζεται ως Reviews Editor στο Switch Player Magazine και είναι βυθισμένος σε όλες τις πτυχές της διαδικτυακής δημοσίευσης και ανάπτυξης ιστού.

Περισσότερα από τον Bobby Jack

Εγγραφείτε στο newsletter μας

Εγγραφείτε στο ενημερωτικό μας δελτίο για τεχνικές συμβουλές, κριτικές, δωρεάν ebooks και αποκλειστικές προσφορές!

Κάντε κλικ εδώ για εγγραφή