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

Είναι χρήσιμο εάν αλλάζετε περιβάλλοντα, ειδικά εάν πηγαίνετε πέρα ​​δώθε μεταξύ διαφορετικών σφαλμάτων ή εργασιών στο ίδιο έργο.

Βασική λειτουργία του git stash

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

Η τυπική ροή εργασίας για την αποθήκευση αλλαγών είναι:

  1. Κάντε τοπικές αλλαγές
  2. Απόκρυψη τοπικών αλλαγών
  3. Εφαρμόστε ξανά κρυμμένες αλλαγές

Όταν αποθηκεύετε, αλλάζει χρησιμοποιώντας το git stash [ώθηση] εντολή, το git επαναφέρει στο HEAD. Στη συνέχεια, μπορείτε να συνεχίσετε να εργάζεστε σε ό, τι χρειάζεστε, δεσμευόμενοι στο αποθετήριο σαν να μην κάνατε ποτέ τις αρχικές αλλαγές.

Μόλις τελειώσετε με ό, τι σας παρακολούθησε αρχικά, χρησιμοποιήστε

instagram viewer
git stash pop για να εφαρμόσετε τις αλλαγές σας και να τις αφαιρέσετε από την αποθήκευση. Μπορείτε επίσης να εφαρμόσετε τις αλλαγές σας και να τις διατηρήσετε στο απόρρητο git stash ισχύει. Αυτό μπορεί να είναι χρήσιμο εάν θέλετε να εφαρμόσετε γρήγορα τις αλλαγές σε πολλούς κλάδους.

Εργασία με περισσότερα από ένα stash

Εάν είστε πραγματικά απασχολημένοι, μπορεί να βρείτε τον εαυτό σας να εργάζεται σε πολλές εργασίες ταυτόχρονα και ίσως χρειαστεί να τις αποθηκεύσετε όλες. Μην ανησυχείτε, το git stash έχει δημιουργηθεί για αυτό.

Κάθε φορά που χρησιμοποιείτε το git stash push, αποθηκεύετε ένα άλλο σύνολο αλλαγών. Χρήση git stash list για να δείξετε όλα όσα έχετε κρύψει. Θα δείτε κάτι σαν αυτό:

stash@{0}: WIP στο main: 2fba62e πρώτη δέσμευση
stash@{1}: WIP στο main: 2fba62e πρώτη δέσμευση

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

git stash push -m "τρίτος"

Όταν κάνετε λίστα τώρα, θα δείτε το προσαρμοσμένο μήνυμά σας:

stash@{0}: Στην κύρια: τρίτη
stash@{1}: WIP στο main: 2fba62e πρώτη δέσμευση

Εμφάνιση των διαφορών μεταξύ των διαφορών

Για να μάθετε τι έχει αλλάξει σε ένα απόθεμα, χρησιμοποιήστε git stash show. Χωρίς περαιτέρω επιχειρήματα, θα εμφανίσει μια περίληψη διαφορών για το πιο πρόσφατο stash, που μοιάζει με αυτό:

$ git stash show
README.md | 3 +++
1 αρχείο άλλαξε, 3 εισαγωγές(+)

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

git stash show stash@{0}

Δημιουργία υποκαταστήματος από κρύπτη

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

κλαδί git stash

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

Καθαρισμός του Stash Up

Δεν υπάρχει εντολή "git unstash". Εάν θέλετε να αφαιρέσετε μια καταχώριση απόρριψης, χρησιμοποιήστε την απόθεση:

git stash πτώση

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

git stash clear

Χρησιμοποιήστε το git stash για προσωρινές ελαφριές δεσμεύσεις

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

Το Stashing είναι μόνο ένα μικρό μέρος του git, το οποίο είναι ένα πρόγραμμα με πολλά να προσφέρει.