Android

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

How (and Why) You Should Use Git by Anna Whitney

How (and Why) You Should Use Git by Anna Whitney

Πίνακας περιεχομένων:

Anonim

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

Αυτός ο οδηγός καλύπτει τον τρόπο διαγραφής τοπικών και απομακρυσμένων καταστημάτων Git.

Διαγράψτε ένα Τοπικό Υποκατάστημα Git

Για να διαγράψετε ένα τοπικό υποκατάστημα Git, χρησιμοποιήστε την εντολή git branch με την επιλογή -d ( --delete ):

git branch -d branch_name

Deleted branch branch_name (was 17d9aa0).

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

Όπως αναφέρει το παραπάνω μήνυμα, μπορείτε να εξαναγκάσετε τη διαγραφή χρησιμοποιώντας την επιλογή -D που είναι μια συντόμευση για --delete --force :

git branch -D branch_name

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

Για να εμφανίσετε όλους τους κλάδους που περιέχουν αλλαγές που δεν έχουν καταστραφεί, χρησιμοποιήστε την εντολή git branch --no-merged .

Αν προσπαθήσετε να καταργήσετε τον τρέχοντα κατάλογο, θα λάβετε το ακόλουθο μήνυμα:

error: Cannot delete branch 'branch_name' checked out at '/path/to/repository'

Δεν μπορείτε να διαγράψετε το υποκατάστημα στο οποίο βρίσκεστε. Πρώτα, μεταβείτε σε άλλο κλάδο και στη συνέχεια διαγράψτε το branch_name :

git checkout master git branch -d branch_name git checkout master git branch -d branch_name

Διαγραφή ενός υποκαταστήματος Remote Git

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

Για να διαγράψετε έναν απομακρυσμένο κλάδο, χρησιμοποιήστε την εντολή git push με την επιλογή -d ( --delete ):

git push remote_name --delete branch_name

Όπου η remote_name είναι συνήθως origin :

git push origin --delete branch_name

… - branch_name

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

git push origin remote_name:branch_name

error: unable to push to unqualified destination: branch_name The destination refspec neither matches an existing ref on the remote nor begins with refs/, and we are unable to guess a prefix based on the source ref. error: failed to push some refs to '[email protected]:/my_repo'

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

git fetch -p

Η επιλογή -p λέει στο Git να αφαιρέσει όλες τις αναφορές απομακρυσμένης παρακολούθησης που δεν υπάρχουν πλέον στο απομακρυσμένο αποθετήριο πριν από τη λήψη τους.

συμπέρασμα

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

Με την εντολή git branch , μπορείτε επίσης να μετονομάσετε, να δημιουργήσετε και να καταχωρίσετε τοπικά και απομακρυσμένα υποκαταστήματα Git.