Hvordan navngi og hente en stash etter navn i git?
Jeg var alltid under inntrykk av at du kunne gi en stash et navn ved å gjøre git stash save stashname
, som du senere kunne bruke ved å gjøre git stash apply stashname
. Men det ser ut til at alt som skjer i dette tilfellet er at stashname
vil bli brukt som stashbeskrivelse.
Er det ingen måte å faktisk navngi en stash? Hvis ikke, hva vil du anbefale for å oppnå tilsvarende funksjonalitet? I hovedsak har jeg en liten stash som jeg med jevne mellomrom vil bruke, men vil ikke alltid måtte jakte i git stash list
hva det faktiske stash-nummeret er.
1263
3
Slik gjør du det:
Hvor
"my_stash"
er navnet på gjemmestedet.Noen flere nyttige ting å vite: Alle stashene lagres i en stabel. Skriv inn:
Dette vil liste opp alle gjemmestedene dine.
For å bruke et gjemmested og fjerne det fra gjemmebunken, skriv inn:
For å bruke en stash og beholde den i stash-bunken, skriv inn:
Hvor
n
er indeksen for den gjemte endringen.Du kan gjøre et gjemmested til en filial hvis du føler at det er viktig nok:
fra man-siden:
Dette oppretter og sjekker ut en ny gren med navnet
som starter fra overføringen der
opprinnelig ble opprettet, bruker endringene som er registrert ipå det nye arbeidstreet og indeksen, og slipper deretter
hvis det fullføres. Når ingen `` er gitt, brukes den siste.Dette er nyttig hvis grenen du kjørte
git stash save
på har endret seg nok til at git stash apply mislykkes på grunn av konflikter. Siden stash brukes på toppen av commit som var HEAD på det tidspunktet git stash ble kjørt, gjenoppretter den den opprinnelige stashed-tilstanden uten konflikter.Du kan senere rebasere denne nye grenen til et annet sted som er en etterkommer av der du var da du stashet.
Stashes er ikke ment å være permanente ting som du vil ha. Du' vil sannsynligvis være bedre tjent med å bruke koder på begår. Konstruer tingen du vil stash. Lag en forpliktelse ut av det. Opprett en tag for at commit. Rull deretter grenen din tilbake til
HEAD^
. Nå når du vil bruke den stash på nytt, kan du brukegit cherry-pick -n tagname
(-n
er--no-commit
).