logo

Git | Lucrul cu Stash

Cerințe preliminare: Git

Git permite mai multor utilizatori să lucreze la același proiect simultan. Să presupunem că un dezvoltator lucrează la o caracteristică dintr-o ramură și trebuie să efectueze modificări de la o ramură a unui alt dezvoltator sau dacă trebuie să lucreze urgent la o altă caracteristică, dar caracteristica la care lucrează în prezent este incompletă. În acest caz, nu puteți comite codul parțial al caracteristicii care funcționează în prezent. Pentru a adăuga această nouă funcție, trebuie să eliminați modificările actuale și să le stocați în altă parte. Pentru acest tip de situație, Git oferă o comandă foarte utilă cunoscută sub numele de „ git stash '. git stash comanda salvează codul scris anterior și apoi revine la ultima comitere pentru un nou început. Acum puteți adăuga noua caracteristică fără a o deranja pe cea veche, deoarece este salvată local. După ce v-ați angajat la noua caracteristică, puteți continua să lucrați la vechea caracteristică, care era incompletă și neangajată.



Git stash vs Git Commit

Există două moduri alternative de a salva modificările în depozitul git: stash și commit.

Git stash: Comanda Git stash poate fi folosită pentru a realiza acest lucru dacă un dezvoltator lucrează la un proiect și dorește să păstreze modificările fără să le comite. Acest lucru îi va permite să schimbe sucursale și să lucreze la alte proiecte fără a afecta modificările existente. Puteți să anulați modificările ori de câte ori este necesar și stochează starea curentă și face revenirea dezvoltatorilor la o stare anterioară.

Git commit: Dezvoltatorii doresc să stocheze permanent modificările aduse codului sursă în istoricul depozitului. The git commit comanda poate fi folosită pentru a realiza acest lucru. Git creează un nou commit care documentează modificările dvs. și le adaugă la istoricul depozitului.



În concluzie. Git commite permanent să salveze modificările aduse istoricului depozitului, în timp ce Git stash este folosit pentru a face o copie de rezervă a fișierelor la care lucrăm, dar nu sunt încă gata pentru a fi comise.

Git Stash vs Git Reset

Ambele comenzi pot fi combinate pentru a gestiona modificările aduse unui depozit Git și au diferite cazuri de utilizare.

Git reset și Git stash Cu aceste două comenzi, putem restaura toate fișierele șterse anterior și pentru care s-a făcut backup în directorul de lucru curent. Aceste două distincții primare sunt după cum urmează:



Git Stash

Resetare Git

Git stash este folosit pentru a salva fișierele care au fost făcute modificări și care nu sunt gata să fie comise.

Resetarea Git poate anula complet modificările și schimbă indicatorul de ramură la noul commit

Dezvoltatorii pot schimba ramurile și pot lucra la alte sarcini fără a afecta modificările curente.

Modificările care au fost deja făcute sunt eliminate prin resetarea Git.

Git Stash vs Git Stage

Staging-ul este folosit pentru a pregăti modificările pentru comiterea ulterioară, în timp ce Git stash este folosit pentru a face o copie de rezervă a fișierelor care au fost modificate, dar care nu sunt încă gata pentru a fi comise. Ambele comenzi pot fi combinate pentru a gestiona modificările aduse unui depozit Git și au diferite cazuri de utilizare.

Git Stash Etapa Git
Git stash este folosit pentru a face backup fișierelor Fișierele sunt adăugate la indexul git folosind etapa git.

Git stash este folosit dacă trebuie să treceți la o altă sarcină sau ramură în timp ce lucrați la o caracteristică sau la o remediere a erorilor.

Modificările etapelor Git trebuie incluse în comiterea ulterioară atunci când utilizați comanda git add.

Ce folder stochează istoricul Git Stash?

Când folosim git stash, datele vor fi stocate sub formă de stash-uri în depozitul nostru local. În mod implicit, datele vor fi stocate în fișierul git/refs/stash. În acest fișier, toate referințele sunt stocate și datele reale sunt stocate în directorul .git/objects, la fel ca alte obiecte Git.

model de proiectare a constructorului

Comanda de mai jos este folosită pentru a lista toate stash-urile care au fost create.

git stash list>

Cum ascunzi modificările în Git?

Pentru a salva modificările necommitate pentru o utilizare ulterioară, puteți utiliza „Git stash” comanda. Această comandă salvează modificările locale și revine directorul de lucru pentru a se potrivi cu comiterea HEAD, astfel încât să vă ofere un director de lucru curat.

Iată câteva opțiuni importante care sunt cele mai utilizate pe scară largă:

    Git stash Git stash salvare Git stash list Git stash se aplică Git stash modificări Git stash pop Git stash drop Git stash clear Git stash branch

Ascundeți-vă munca (Git Stash)

git stash>
starea git

În mod implicit, rulează git stash va ascunde modificările care au fost adăugate la indexul dvs. (modificări în etape) și modificările aduse fișierelor care sunt în prezent urmărite de Git (modificări neetape). Pentru a ascunde fișierele neurmărite, utilizați git stash -u .

Gestionarea mai multor stash-uri (Git Stash List)

Puteți crea mai multe rezerve și le puteți vizualiza folosind „listă git stash” comanda. Fiecare intrare de stocare este listată cu numele ei (de ex. stash@{1} ), numele ramurii care era curentă când a fost făcută intrarea și o scurtă descriere a comiterii pe care s-a bazat intrarea.

git stash list>
git stash list

Pentru a oferi mai mult context stash-ului, creăm stash-ul folosind următoarea comandă:

git stash save 'message'>

Ce sunt Git Stash Apply și POP (Git Stash Apply și POP)

Puteți aplica din nou modificările ascunse anterior cu ajutorul „git stash pop” sau „Aplica git stash” comenzi. Singura diferență între ambele comenzi este că „git stash pop” elimină modificările din stoc și reaplică modificările din copia de lucru în timp ce „Aplica git stash” reaplică doar modificările din copia de lucru fără a elimina modificările din depozit. Cu cuvinte simple, pop elimină starea din lista stash while aplica nu elimină starea din lista de stocare. Cu ajutorul comenzii ulterioare, putem reaplica modificările stocate. Cea mai recentă stash va fi aplicată în directorul nostru de lucru și va fi luată și din lista de stash-uri.

git stash pop>
git stash pop
git stash apply>
se aplică git stash

În mod implicit „git stash pop” sau „Aplicați git stash” va reaplica cel mai recent stash creat: stash@{0} Pentru a alege ce stash să aplicați, puteți trece identificatorul ca ultimul argument ( Pentru ex. :- git stash pop stash@{2}).

Git Stash Show

git stash show comanda este utilizată pentru a afișa rezumatul operațiunilor efectuate pe depozit.

git stash show>
git stash show

Crearea unei sucursale din stash-ul dvs. (Git Stash Branch)

Dacă doriți să creați și să verificați o nouă ramură pornind de la commit-ul la care a fost creat inițial stash-ul și să aplicați modificările salvate în stash, utilizați „git stash branch branch_name stash_name” . Aruncă stash-ul care este dat ca argument și dacă nu este dat stash, îl scapă pe cel mai recent.

git stash branch newbranch stash@{0}>
git stash branch

Curățarea depozitului (Git Stash Clear)

Pentru a șterge orice depozit anume ( De exemplu: – stash@{1}), folosiți „git stash drop stash@{1}” . În mod implicit, această comandă va fi eliminată stash@{0} dacă nu este furnizat niciun argument ( git stash drop ). Pentru a șterge toate depozitele simultan, utilizați „Git stash clear” comanda.

Git Stash Clear

Comanda git stash ne permite să păstrăm modificările necommise, astfel încât să le putem folosi după cum este necesar în viitor. Când folosim comanda git stash, fișierele sunt copiate automat. Acest lucru ne permite să schimbăm ramurile, să ne desfășurăm treburile și apoi să recuperăm cu ușurință fișierele când suntem gata să lucrăm din nou la ele.

Git stash

Ascunderea fișierelor neurmărite sau ignorate

Putem folosi comanda git stash pentru a ascunde fișierele care nu sunt urmărite sau ignorate. Urmând pașii de mai jos, ne putem păstra fișierele:

Pasul 1: Ascundeți modificările pentru asta folosind comanda de mai jos.

git stash save --include-untracked>

–include-untracked prin aceasta va ascunde și toate fișierele neurmărite.

Pasul 2: Verificați depozitul:

Folosiți comanda de mai jos pentru a confirma că stocul a fost creat:

git stash list>

Pasul 3: Folosind următoarea comandă, putem aduce înapoi și aplica stocul.

git stash apply stash@{0}>

Pasul 4: Odată ce s-a terminat de aducere înapoi, dacă nu este dorită, putem șterge stocul folosind următoarea comandă.

git stash drop stash@{0}>

Cele mai bune practici Git Stash

Iată câteva dintre cele mai bune practici pentru utilizarea Git stash comanda.

  1. Nu abuzați de git stash: Git stash trebuie folosit moderat ori de câte ori este foarte important să lucrați la o altă sarcină, atunci doar că ar trebui să folosim git stash, acesta va afecta modificările care trebuie făcute în comitere.
  2. Evitați mesajele inutile: Folosind git stash, puteți adăuga un mesaj pentru a descrie modificările pe care le păstrați. Faceți mesajul semnificativ. Când trebuie să vă amintiți mai târziu ce se află în depozit, acest lucru vă va fi util. Folosiți declarații informative și evocatoare și care reflectă cu exactitate schimbările ascunse.
  3. Angajați filiale: Stashingul este un instrument util atunci când lucrați cu ramuri Git. Înainte de a ascunde modificările, faceți o nouă ramură, astfel încât să puteți trece la diferite sarcini sau ramuri fără a vă afecta modificările curente. Reveniți la ramură și aplicați depozitul când sunteți gata să lucrați încă o dată la modificări.
  4. Modificările ar trebui făcute cât mai repede posibil: depozitarea trebuie folosită doar ca soluție temporară. După ce ați terminat de făcut un set de modificări, ar trebui să le trimiteți în depozit pentru a păstra o înregistrare a modificărilor.