Stashing lar deg beholde en kopi av endringer du har gjort i et depot, uten å måtte opprette en forpliktelse.

Det er nyttig hvis du bytter kontekst, spesielt hvis du går frem og tilbake mellom forskjellige feil eller oppgaver på samme prosjekt.

Grunnleggende drift av git stash

Du kan bruk git stash for å lette arbeidsflyten din når du arbeider med parallelle arbeidslinjer. Tenk deg at du jobber med en langvarig oppgave, med endringer i din lokale arbeidskopi. Da dukker det opp noe som haster som du må jobbe med med en gang.

Standard arbeidsflyt for å lagre endringer er:

  1. Gjør lokale endringer
  2. Lagre lokale endringer
  3. Bruk lagrede endringer på nytt

Når du lagrer endringer ved hjelp av git stash [push] kommando, git tilbakestilles til HEAD. Du kan deretter fortsette å jobbe med det du trenger, og forplikte deg til depotet som om du aldri gjorde de opprinnelige endringene.

Når du er ferdig med det som kom deg på siden, bruk git stash pop for å bruke endringene og fjerne dem fra oppbevaringen. Du kan også bruke endringene og beholde dem i oppbevaringen med

instagram viewer
git stash gjelder. Dette kan være nyttig hvis du raskt vil bruke endringene på flere grener.

Arbeide med mer enn én oppbevaring

Hvis du er veldig opptatt, kan du finne deg selv å jobbe med flere oppgaver samtidig, og du må kanskje gjemme dem alle. Ikke bekymre deg, git stash er laget for dette.

Hver gang du bruker git stash push, lagrer du et nytt sett med endringer. Bruk git stash liste for å vise alt du har gjemt. Du vil se noe som dette:

stash@{0}: WIP på main: 2fba62e first commit
stash@{1}: WIP på main: 2fba62e first commit

Disse meldingene er ikke veldig nyttige, men du kan legge igjen noen ledetråder for deg selv ved å legge til en egendefinert melding når du stasher:

git stash push -m "tredje"

Når du lister opp nå, vil du se din egendefinerte melding:

stash@{0}: På hoved: tredje
stash@{1}: WIP på main: 2fba62e first commit

Viser forskjellene mellom diff

For å finne ut hva som er endret i en oppbevaring, bruk git stash show. Uten ytterligere argumenter vil den vise en diff-oppsummering for den siste oppbevaringen, som ser slik ut:

$ git stash show
README.md | 3 +++
1 fil endret, 3 innsettinger (+)

Du kan også sende en stash-ID for å spørre etter en spesifikk oppføring:

git stash vis stash@{0}

Opprette en gren fra et oppbevaringssted

Du kan bestemme at endringene i en stash er så betydelige at de fortjener å være i en egen gren. I så fall, opprette en ny filial fra stash ved hjelp av gren kommando:

git stash gren

Igjen, dette vil fungere på den nyeste stash som standard, men du kan oppgi en stash-ID om nødvendig. Git oppretter den nye grenen din fra samme punkt i depotet som stashen. Den bruker deretter endringene fra oppbevaringen til arbeidskopien din.

Rengjøring av oppbevaring

Det er ingen "git unstash"-kommando. Hvis du vil fjerne en stash-oppføring, bruk drop:

git stash miste

Igjen, dette er standard til den nyeste, men du kan oppgi en stash-ID i stedet. Hvis du bestemmer deg for å bli kvitt alt du har gjemt, bruk denne kommandoen:

git stash klart

Bruk git stash for midlertidige lette forpliktelser

Git-stashes er ikke på langt nær så kraftige som fulle repositories. Men de tilbyr fortsatt mye nyttig funksjonalitet i seg selv. Bruk stash hvis du ofte opplever at du trenger å bytte gren midt i arbeidet.

Stashing er bare en liten del av git, som er et program med utrolig mye å tilby.