logo

Git Stash

Ibland vill du byta gren, men du arbetar med en ofullständig del av ditt nuvarande projekt. Du vill inte göra ett åtagande av halvfärdigt arbete. Git stashing låter dig göra det. De git stash kommando gör det möjligt för dig att byta gren utan att begå den aktuella grenen.

Bilden nedan visar egenskaperna och rollen för stashing när det gäller arkiv och arbetskatalog.

Git Stash

Generellt är förvaringens betydelse ' förvara något säkert på en gömd plats .' Betydelsen i Git är också densamma för stash; Git sparar temporärt din data säkert utan att binda.

Stashing tar det röriga tillståndet för din arbetskatalog och sparar den tillfälligt för vidare användning. Många alternativ är tillgängliga med git stash. Några användbara alternativ ges nedan:

    Git stash Git stash spara Git stash lista Git stash gäller Git stash ändringar Git stash pop Git stash drop Ta bort stash Git stash gren

Stängningsarbete

Låt oss förstå det med ett realtidsscenario. Jag har gjort ändringar i mitt projekt GitExample2 i två filer från två distinkta grenar. Jag är i ett rörigt tillstånd och jag har inte redigerat någon fil helt än. Så jag vill spara den tillfälligt för framtida bruk. Vi kan lagra den för att spara den som dess nuvarande status. För att lagra, låt oss ta en titt på förvarets nuvarande status. För att kontrollera den aktuella statusen för förvaret, kör kommandot git status. Kommandot git status används som:

hur man initierar en array i java

Syntax:

 $ git status 

Produktion:

Git Stash

Från ovanstående utdata kan du se statusen att det finns två ospårade filer design.css och nyfil.txt tillgänglig i förvaret. För att spara det tillfälligt kan vi använda kommandot git stash. Kommandot git stash används som:

Syntax:

 $ git stash 

Produktion:

Git Stash

I den givna utgången sparas arbetet med git stash-kommandot. Vi kan kontrollera statusen för förvaret.

Git Stash

Som du kan se är mitt arbete bara gömt i sin nuvarande position. Nu är katalogen rensad. Vid det här laget kan du växla mellan grenar och arbeta med dem.

Git Stash Save (Spara Stashes med meddelandet):

I Git kan ändringarna lagras med ett meddelande. För att lagra en ändring med ett meddelande, kör kommandot nedan:

Syntax:

 $ git stash save '' 

Produktion:

Git Stash

Ovanstående förvaring kommer att sparas med ett meddelande

Git Stash List (Kontrollera de lagrade Stashes)

För att kontrollera de lagrade gömmorna, kör kommandot nedan:

Syntax:

mamta kulkarni
 $ git stash list 

Produktion:

Git Stash

I ovanstående fall har jag gjort en stash, som visas som ' stash@{0}: WIP på testet: 0a1a475 CSS-fil '.

Om vi ​​har mer än ett förråd, kommer det att visa alla förråd med olika förråds-id. Tänk på följande utdata:

Git Stash

Det kommer att visa alla gömmor med indexering som stash@{0}: stash@{1}: och så vidare.

Git Stash Ansök

Du kan återanvända ändringarna som du just gömt genom att använda kommandot git stash. För att tillämpa commit, använd kommandot git stash, följt av alternativet Applicera. Det används som:

Syntax:

 $ git stash apply 

Produktion:

Git Stash

Ovanstående utdata återställer den sista lagringen. Om du nu ska kontrollera statusen för förvaret kommer det att visa ändringarna som har gjorts på filen. Tänk på nedanstående produktion:

Git Stash

Från ovanstående utdata kan du se att förvaret är återställt till sitt tidigare tillstånd före stash. Den visar utdata som ' Ändringar inte iscensatta för commit .'

Om det finns mer än en stash kan du använda kommandot 'git stash applicera' följt av stash index-id för att tillämpa den specifika commit. Det används som:

Syntax:

 $ git stash apply 

Tänk på följande utdata:

Produktion:

Git Stash

Om vi ​​inte anger en stash, tar Git den senaste stashen och försöker tillämpa den.

Git Stash ändringar

Vi kan spåra gömmorna och deras förändringar. För att se ändringarna i filen före stash och efter stash-operation, kör kommandot nedan:

Syntax:

 $ git stash show 

Ovanstående kommando visar filen som är gömd och ändringar som gjorts på dem. Tänk på följande utdata:

Produktion:

Git Stash

Ovanstående utdata illustrerar att det finns två filer som är gömda och två insättningar utförda på dem.

Vi kan exakt spåra vilka ändringar som görs på filen. För att visa det ändrade innehållet i filen, utför följande kommando:

Syntax:

 $ git stash show -p 

Här står -p för partiell stash. Det givna kommandot kommer att visa de redigerade filerna och innehållet, överväg utdata nedan:

analysera sträng till int

Produktion:

Git Stash

Ovanstående utdata visar filnamnet med ändrat innehåll. Det fungerar på samma sätt som git diff-kommandot. De git diff kommandot kommer också att visa den exakta utgången.

Git Stash Pop (återtillämpning av lagrade ändringar)

Git låter användaren återanvända de tidigare commits genom att använda git stash pop-kommandot. Popping-alternativet tar bort ändringarna från stash och tillämpar dem på din arbetsfil.

Kommandot git stash pop är ganska likt git stash applicera. Den största skillnaden mellan båda dessa kommandon är stash pop-kommandot som tar bort stash från stacken efter att det har tillämpats.

Syntax:

 $ git stash pop 

Ovanstående kommando kommer att tillämpa de tidigare commits på förvaret igen. Tänk på utgången nedan.

Produktion:

Git Stash

Git Stash Drop (Unstash)

De git stash drop kommandot används för att ta bort en stash från kön. I allmänhet tar den bort det senaste arkivet. Försiktighet bör iakttas innan du använder kommandot stash drop, eftersom det är svårt att ångra om det väl har använts.

Det enda sättet att återställa det är om du inte stänger terminalen efter att ha raderat förvaringen. Stash drop-kommandot kommer att användas som:

Syntax:

 $ git stash drop 

Produktion:

Git Stash

I utgången ovan, den senaste förvaringen (stash@{0}) har tappats från givna tre gömmor. Kommandot stash list listar alla tillgängliga stashes i kön.

Vi kan också ta bort en viss stash från kön. För att ta bort en viss stash från de tillgängliga stashes, skicka stash id in stash drop kommandot. Det kommer att behandlas som:

Syntax:

 $ git stash drop 

Anta att jag har två förvaringsutrymmen tillgängliga i min kö, och jag vill inte släppa min senaste förvaring, men jag vill ta bort den äldre. Sedan kommer det att fungera som:

 $ git stash drop stash@{1} 

Tänk på följande utdata:

Git Stash

I utgången ovan, commit stash@{1} har raderats från kön.

Git Stash Clear

De git stash klart kommandot gör det möjligt att ta bort alla tillgängliga förvaringsutrymmen på en gång. För att radera alla tillgängliga stashes, använd nedanstående kommando:

Syntax:

 $ git stash clear 

det kommer att radera alla stash som finns i förvaret.

Produktion:

Git Stash

Alla gömmor raderas i utgången ovan. Kommandot git stash list är tomt eftersom det inte finns några stashes tillgängliga i förvaret.

Git Stash Branch

Om du gömt en del arbete på en viss gren och fortsätter arbeta på den grenen. Sedan kan det skapa en konflikt under sammanslagning. Så det är bra att lagra arbete på en separat gren.

Kommandot git stash branch låter användaren lagra arbete på en separat gren för att undvika konflikter. Syntaxen för denna gren är följande:

teckensnitt för gimp

Syntax:

 $ git stash branch 

Ovanstående kommando kommer att skapa en ny gren och överföra det lagrade arbetet på det. Tänk på följande utdata:

Produktion:

Git Stash

I utgången ovan överförs det lagrade arbetet till en nyskapad grentestning. Det kommer att undvika sammanslagningskonflikten på mastergrenen.