logo

Git Stash

Soms wil je van vestiging wisselen, maar ben je bezig met een onvolledig deel van je huidige project. Je wilt geen half werk doen. Met Git stashing kun je dit doen. De git stash-opdracht stelt u in staat om van vertakking te wisselen zonder de huidige vertakking vast te leggen.

De onderstaande afbeelding demonstreert de eigenschappen en rol van stashing met betrekking tot de repository en de werkmap.

Git Stash

Over het algemeen is de betekenis van de stash ' bewaar iets veilig op een verborgen plaats .' De betekenis in Git is ook hetzelfde voor stash; Git slaat uw gegevens tijdelijk veilig op zonder verplichtingen.

Stashing neemt de rommelige status van uw werkmap over en slaat deze tijdelijk op voor verder gebruik. Er zijn veel opties beschikbaar met git stash. Hieronder vindt u enkele handige opties:

    Git voorraad Git stash opslaan Git stashlijst Git stash van toepassing Git stash-wijzigingen Git stashpop Git stashdrop Maak je voorraad leeg Git stash-branch

Werk opbergen

Laten we het begrijpen met een realtime scenario. Ik heb wijzigingen aangebracht in mijn project GitExample2 in twee bestanden uit twee verschillende takken. Ik ben in een rommelige toestand en ik heb nog geen enkel bestand volledig bewerkt. Daarom wil ik het tijdelijk opslaan voor toekomstig gebruik. We kunnen het opslaan om het op te slaan als de huidige status. Laten we, om het op te bergen, eens kijken naar de huidige status van de repository. Om de huidige status van de repository te controleren, voer je het git status commando uit. Het git status commando wordt gebruikt als:

joins en soorten joins

Syntaxis:

 $ git status 

Uitgang:

Git Stash

Uit de bovenstaande uitvoer kunt u de status zien dat er twee niet-bijgehouden bestanden zijn ontwerp.css En nieuwbestand.txt beschikbaar in de repository. Om het tijdelijk op te slaan, kunnen we het git stash commando gebruiken. Het git stash commando wordt gebruikt als:

Syntaxis:

 $ git stash 

Uitgang:

Git Stash

In de gegeven uitvoer wordt het werk opgeslagen met het git stash commando. We kunnen de status van de repository controleren.

Git Stash

Zoals je kunt zien, is mijn werk gewoon opgeborgen in de huidige positie. Nu wordt de map opgeschoond. Op dit punt kunt u tussen takken schakelen en eraan werken.

Git Stash Save (Stashes opslaan met de boodschap):

In Git kunnen de wijzigingen met een bericht worden opgeslagen. Om een ​​wijziging met een bericht op te slaan, voert u de onderstaande opdracht uit:

Syntaxis:

 $ git stash save '' 

Uitgang:

Git Stash

De bovenstaande voorraad wordt opgeslagen met een bericht

Git Stash Lijst (controleer de opgeslagen stashes)

Om de opgeslagen stashes te controleren, voert u de onderstaande opdracht uit:

Syntaxis:

 $ git stash list 

Uitgang:

Git Stash

In het bovenstaande geval heb ik één voorraad aangemaakt, die wordt weergegeven als ' stash@{0}: WIP van de test: 0a1a475 CSS-bestand '.

Als we meer dan één stash hebben, worden alle stash's respectievelijk met verschillende stash-ID's weergegeven. Beschouw de onderstaande uitvoer:

Git Stash

Het toont alle stashes met indexering als voorraad@{0}: voorraad@{1}: enzovoort.

Git Stash toepassen

Je kunt de wijzigingen die je zojuist hebt opgeslagen opnieuw toepassen door het git stash commando te gebruiken. Om de commit toe te passen, gebruik je het git stash commando, gevolgd door de apply optie. Het wordt gebruikt als:

Syntaxis:

 $ git stash apply 

Uitgang:

Git Stash

Met de bovenstaande uitvoer wordt de laatste stash hersteld. Als u nu de status van de repository controleert, worden de wijzigingen weergegeven die in het bestand zijn aangebracht. Overweeg het onderstaande uitvoer:

Git Stash

Uit de bovenstaande uitvoer kun je zien dat de repository is hersteld naar de vorige staat van vóór de opslag. Het toont de uitvoer als ' Wijzigingen die niet zijn geënsceneerd voor commit .'

In het geval van meer dan één stash, kun je het commando 'git stash apply' gebruiken gevolgd door stash index id om de specifieke commit toe te passen. Het wordt gebruikt als:

Syntaxis:

Java is gelijk
 $ git stash apply 

Beschouw de onderstaande uitvoer:

Uitgang:

Git Stash

Als we geen stash specificeren, neemt Git de meest recente stash en probeert deze toe te passen.

Git Stash-wijzigingen

We kunnen de voorraad en hun veranderingen volgen. Om de wijzigingen in het bestand vóór en na de stash-bewerking te zien, voert u de onderstaande opdracht uit:

Syntaxis:

 $ git stash show 

De bovenstaande opdracht toont het bestand dat is opgeslagen en de wijzigingen die daarin zijn aangebracht. Beschouw de onderstaande uitvoer:

Uitgang:

Git Stash

De bovenstaande uitvoer illustreert dat er twee bestanden zijn opgeslagen en dat er twee invoegingen op zijn uitgevoerd.

java mvc

Wij kunnen precies bijhouden welke wijzigingen er in het bestand worden aangebracht. Om de gewijzigde inhoud van het bestand weer te geven, voert u de onderstaande opdracht uit:

Syntaxis:

 $ git stash show -p 

Hier staat -p voor de gedeeltelijke stash. Het gegeven commando toont de bewerkte bestanden en inhoud, bekijk de onderstaande uitvoer:

Uitgang:

Git Stash

De bovenstaande uitvoer toont de bestandsnaam met gewijzigde inhoud. Het werkt hetzelfde als het git diff-commando. De git diff commando toont ook de exacte uitvoer.

Git Stash Pop (opnieuw toepassen van opgeslagen wijzigingen)

Met Git kan de gebruiker de vorige commits opnieuw toepassen door het git stash pop commando te gebruiken. De popping-optie verwijdert de wijzigingen uit de stash en past ze toe op uw werkbestand.

Het git stash pop commando lijkt veel op git stash apply. Het belangrijkste verschil tussen beide commando's is het stash pop-commando dat de stash van de stapel verwijdert nadat deze is toegepast.

Syntaxis:

 $ git stash pop 

Met het bovenstaande commando worden de vorige commits opnieuw toegepast op de repository. Beschouw de onderstaande uitvoer.

Uitgang:

Git Stash

Git Stash Drop (Unstash)

De git stashdrop commando wordt gebruikt om een ​​stash uit de wachtrij te verwijderen. Over het algemeen wordt de meest recente voorraad verwijderd. Voorzichtigheid is geboden voordat u het stash drop-commando gebruikt, omdat het moeilijk ongedaan te maken is als het eenmaal is toegepast.

De enige manier om dit ongedaan te maken is als u de terminal niet sluit nadat u de voorraad heeft verwijderd. Het stash drop-commando wordt gebruikt als:

Syntaxis:

 $ git stash drop 

Uitgang:

Git Stash

In de bovenstaande uitvoer de meest recente voorraad (opbergen@{0}) is verwijderd uit de drie gegeven voorraden. Het stash list commando geeft een overzicht van alle beschikbare stashes in de wachtrij.

We kunnen ook een bepaalde voorraad uit de wachtrij verwijderen. Om een ​​bepaalde voorraad uit de beschikbare voorraad te verwijderen, geeft u de stash-ID door in de opdracht stash drop. Het wordt verwerkt als:

Syntaxis:

 $ git stash drop 

Stel dat ik twee voorraadjes beschikbaar heb in mijn wachtrij, en ik wil mijn meest recente voorraad niet verwijderen, maar ik wil de oudere verwijderen. Vervolgens wordt het gebruikt als:

 $ git stash drop stash@{1} 

Beschouw de onderstaande uitvoer:

Git Stash

In de bovenstaande uitvoer wordt de commit voorraad@{1} is uit de wachtrij verwijderd.

Git Stash Clear

De git stash opruimen Met deze opdracht kunt u alle beschikbare stashes in één keer verwijderen. Om alle beschikbare stashes te verwijderen, voert u de onderstaande opdracht uit:

Syntaxis:

 $ git stash clear 

het zal alle voorraden in de repository verwijderen.

Uitgang:

tekenreeks casten als int java
Git Stash

Alle stashes worden verwijderd in de bovenstaande uitvoer. Het git stash list commando is leeg omdat er geen stashes beschikbaar zijn in de repository.

Git Stash-filiaal

Als je wat werk op een bepaalde branch hebt opgeslagen en doorgaat met werken aan die branch. Vervolgens kan er tijdens het samenvoegen een conflict ontstaan. Het is dus goed om werk op een aparte branch op te bergen.

Met het git stash branch commando kan de gebruiker werk op een aparte branch opslaan om conflicten te voorkomen. De syntaxis voor deze vertakking is als volgt:

Syntaxis:

 $ git stash branch 

Het bovenstaande commando zal een nieuwe branch aanmaken en het opgeslagen werk daarop overbrengen. Beschouw de onderstaande uitvoer:

Uitgang:

Git Stash

In de bovenstaande uitvoer wordt het opgeslagen werk overgebracht naar een nieuw gemaakte vertakkingstest. Het zal het samenvoegconflict op de masterbranch vermijden.