logo

Git Stash

Uneori doriți să schimbați ramurile, dar lucrați la o parte incompletă a proiectului dvs. actual. Nu vrei să faci o muncă pe jumătate făcută. Git stashing vă permite să faceți acest lucru. The comanda git stash vă permite să comutați ramurile fără a comite ramura curentă.

Figura de mai jos demonstrează proprietățile și rolul stashing-ului în ceea ce privește depozitul și directorul de lucru.

Git Stash

În general, sensul ascunzării este „ depozitați ceva în siguranță într-un loc ascuns .' Sensul în Git este același și pentru stash; Git vă salvează temporar datele în siguranță, fără a se angaja.

Stashing preia starea dezordonată a directorului dvs. de lucru și o salvează temporar pentru utilizare ulterioară. Multe opțiuni sunt disponibile cu git stash. Câteva opțiuni utile sunt prezentate mai jos:

    Git stash Salvare Git stash Git stash list Se aplică Git stash Modificări Git stash Git stash pop Git stash drop Git stash clear Ramura Git stash

Munca de ascundere

Să înțelegem asta cu un scenariu în timp real. Am făcut modificări în proiectul meu GitExample2 în două fișiere din două ramuri distincte. Sunt într-o stare dezordonată și încă nu am editat în întregime niciun fișier. Așa că vreau să-l salvez temporar pentru o utilizare viitoare. Îl putem păstra pentru a salva ca starea sa actuală. Pentru a păstra, să aruncăm o privire la starea curentă a depozitului. Pentru a verifica starea curentă a depozitului, rulați comanda git status. Comanda git status este folosită ca:

pentru fiecare java

Sintaxă:

 $ git status 

Ieșire:

Git Stash

Din rezultatul de mai sus, puteți vedea starea că există două fișiere neurmărite design.css și fişier nou.txt disponibil în depozit. Pentru a-l salva temporar, putem folosi comanda git stash. Comanda git stash este folosită ca:

Sintaxă:

 $ git stash 

Ieșire:

Git Stash

În rezultatul dat, munca este salvată cu comanda git stash. Putem verifica starea depozitului.

Git Stash

După cum puteți vedea, munca mea este doar ascunsă în poziția actuală. Acum, directorul este curățat. În acest moment, puteți comuta între ramuri și puteți lucra la ele.

Git Stash Save (Salvarea stash-urilor cu mesajul):

În Git, modificările pot fi ascunse cu un mesaj. Pentru a ascunde o modificare cu un mesaj, rulați comanda de mai jos:

Sintaxă:

 $ git stash save '' 

Ieșire:

Git Stash

Rezerva de mai sus va fi salvată cu un mesaj

Lista Git Stash (verificați depozitele stocate)

Pentru a verifica stocurile stocate, executați comanda de mai jos:

Sintaxă:

 $ git stash list 

Ieșire:

Git Stash

În cazul de mai sus, am făcut o rezervă, care este afișată ca „ stash@{0}: WIP la test: fișier CSS 0a1a475 '.

Dacă avem mai multe stash-uri, atunci va afișa toate stash-urile respectiv cu diferite stash-id. Luați în considerare rezultatul de mai jos:

Git Stash

Va afișa toate depozitele cu indexare ca stash@{0}: stash@{1}: și așa mai departe.

Aplicați Git Stash

Puteți aplica din nou modificările pe care tocmai le-ați ascuns folosind comanda git stash. Pentru a aplica commit-ul, utilizați comanda git stash, urmată de opțiunea de aplicare. Este folosit ca:

Sintaxă:

conversia șirului în obiect json
 $ git stash apply 

Ieșire:

Git Stash

Ieșirea de mai sus restabilește ultimul depozit. Acum, dacă veți verifica starea depozitului, acesta va afișa modificările care sunt făcute în fișier. Luați în considerare cele de mai jos ieșire:

Git Stash

Din rezultatul de mai sus, puteți vedea că depozitul este restaurat la starea anterioară înainte de stocare. Afișează rezultatul ca „ Modificări care nu au fost puse în scenă pentru comitere .'

În cazul a mai multor stash, puteți folosi comanda „git stash apply” urmată de id-ul indexului stash pentru a aplica respectiva comitere. Este folosit ca:

Sintaxă:

 $ git stash apply 

Luați în considerare rezultatul de mai jos:

Ieșire:

Git Stash

Dacă nu specificăm o rezervă, Git ia cea mai recentă rezervă și încearcă să o aplice.

Modificări Git Stash

Putem urmări depozitele și modificările lor. Pentru a vedea modificările din fișier înainte de stash și după operația de stash, rulați comanda de mai jos:

Sintaxă:

 $ git stash show 

Comanda de mai sus va afișa fișierul care este ascuns și modificările făcute asupra lor. Luați în considerare rezultatul de mai jos:

Ieșire:

Git Stash

Rezultatul de mai sus ilustrează faptul că există două fișiere care sunt ascunse și două inserări efectuate pe ele.

Putem urmări exact ce modificări sunt făcute în fișier. Pentru a afișa conținutul modificat al fișierului, efectuați comanda de mai jos:

Sintaxă:

 $ git stash show -p 

Aici, -p reprezintă depozitul parțial. Comanda dată va afișa fișierele editate și conținutul, luați în considerare rezultatul de mai jos:

Ieșire:

Git Stash

Ieșirea de mai sus arată numele fișierului cu conținut modificat. Acționează la fel ca comanda git diff. The git diff comanda va afișa, de asemenea, rezultatul exact.

Git Stash Pop (reaplicarea modificărilor ascunse)

Git permite utilizatorului să aplice din nou comitările anterioare folosind comanda git stash pop. Opțiunea de popping elimină modificările din stash și le aplică fișierului dvs. de lucru.

deconectați-vă de la contul Google pe Android

Comanda git stash pop este destul de similară cu git stash apply. Principala diferență dintre aceste două comenzi este comanda stash pop care șterge stash-ul din stivă după ce este aplicat.

Sintaxă:

 $ git stash pop 

Comanda de mai sus va reaplica commit-urile anterioare în depozit. Luați în considerare rezultatul de mai jos.

Ieșire:

Git Stash

Git Stash Drop (Unstash)

The git stash drop comanda este folosită pentru a șterge un depozit din coadă. În general, șterge cel mai recent depozit. Trebuie avută grijă înainte de a utiliza comanda stash drop, deoarece este dificil de anulat dacă este aplicată odată.

Singura modalitate de a-l reveni este dacă nu închideți terminalul după ștergerea stocului. Comanda stash drop va fi folosită ca:

Sintaxă:

 $ git stash drop 

Ieșire:

Git Stash

În rezultatul de mai sus, cel mai recent depozit (asca@{0}) a fost scăpat din trei rezerve date. Comanda stash list listează toate stash-urile disponibile în coadă.

De asemenea, putem șterge o anumită rezervă din coadă. Pentru a șterge o anumită rezervă din rezervele disponibile, transmiteți id-ul stash în comanda stash drop. Acesta va fi procesat ca:

Sintaxă:

 $ git stash drop 

Să presupunem că am două rezerve disponibile în coadă și nu vreau să renunț la cea mai recentă rezervă, dar vreau să o șterg pe cea mai veche. Apoi, va fi operat ca:

 $ git stash drop stash@{1} 

Luați în considerare rezultatul de mai jos:

Git Stash

În rezultatul de mai sus, commit stash@{1} a fost șters din coadă.

Git Stash Clear

The git stash clear comanda permite ștergerea tuturor stocurilor disponibile simultan. Pentru a șterge toate stocurile disponibile, operați comanda de mai jos:

Sintaxă:

 $ git stash clear 

va șterge toate stash-urile care există în depozit.

Ieșire:

Git Stash

Toate stash-urile sunt șterse în rezultatul de mai sus. Comanda git stash list este goală deoarece nu există stash-uri disponibile în depozit.

Sucursala Git Stash

Dacă ați păstrat ceva de lucru pe o anumită ramură și continuați să lucrați la acea ramură. Apoi, poate crea un conflict în timpul îmbinării. Deci, este bine să ascundeți munca pe o ramură separată.

Comanda git stash branch permite utilizatorului să păstreze munca pe o ramură separată pentru a evita conflictele. Sintaxa pentru această ramură este următoarea:

Sintaxă:

 $ git stash branch 

Comanda de mai sus va crea o nouă ramură și va transfera munca ascunsă pe aceasta. Luați în considerare rezultatul de mai jos:

Ieșire:

inkscape vs gimp
Git Stash

În rezultatul de mai sus, munca ascunsă este transferată la o nouă testare a ramurilor. Se va evita conflictul de îmbinare pe ramura principală.