logo

Git | Treballant amb Stash

Requisits previs: Git

Git permet que diversos usuaris treballin en el mateix projecte simultàniament. Suposem que un desenvolupador està treballant en una funció d'una branca i necessita fer canvis d'alguna branca d'un altre desenvolupador o si ha de treballar amb urgència en alguna altra funció, però la funció en la qual està treballant actualment està incompleta. En aquest cas, no podeu confirmar el codi parcial de la funció que funciona actualment. Per afegir aquesta nova funció, heu d'eliminar els vostres canvis actuals i desar-los en un altre lloc. Per a aquest tipus de situacions, Git ofereix una ordre molt útil coneguda com ' git stash ‘. git stash L'ordre desa el codi escrit anteriorment i després torna a l'últim commit per començar de nou. Ara podeu afegir la nova funció sense molestar l'antiga, ja que es desa localment. Després de comprometre's amb la nova funció, podeu continuar treballant amb la funció antiga que estava incompleta i sense compromís.



Git Stash vs Git Commit

Hi ha dues maneres alternatives de desar els canvis al repositori git: stash i commit.

Git Stash: La comanda Git stash es pot utilitzar per aconseguir-ho si un desenvolupador està treballant en un projecte i vol conservar els canvis sense comprometre'ls. Això li permetrà canviar d'oficina i treballar en altres projectes sense afectar les modificacions existents. Podeu revertir les modificacions sempre que sigui necessari, i emmagatzema l'estat actual i torna els desenvolupadors a un estat anterior.

Git commit: Els desenvolupadors volen emmagatzemar permanentment els seus canvis al codi font a l'historial del repositori. El git commit l'ordre es pot utilitzar per aconseguir-ho. Git crea una nova confirmació que documenta les vostres modificacions i les afegeix a l'historial del dipòsit.



Per concloure. Git es compromet a desar permanentment els canvis a l'historial del repositori, mentre que Git Stash s'utilitza per fer una còpia de seguretat dels fitxers en els quals estem treballant però que encara no estem preparats per confirmar-los.

Git Stash vs Git Reset

Les dues ordres es poden combinar per gestionar els canvis en un dipòsit de Git i tenir diversos casos d'ús.

Git reset i Git stash Amb aquestes dues ordres, podem restaurar tots els fitxers esborrats i de còpia de seguretat prèviament al directori de treball actual. Aquestes dues distincions principals són les següents:



Git Stash

Git Reset

Git stash s'utilitza per desar els fitxers que s'han fet modificacions i que no estan preparats per confirmar.

El restabliment de Git pot desfer els canvis completament i canvia el punter de la branca a la nova confirmació

Els desenvolupadors poden canviar de branca i treballar en altres tasques sense afectar els canvis actuals.

Els canvis que ja s'han fet es descarten mitjançant el restabliment de Git.

Git Stash vs Git Stage

La posada en escena s'utilitza per preparar els canvis per a la confirmació posterior, mentre que l'emmagatzematge de Git s'utilitza per fer una còpia de seguretat dels fitxers que s'han modificat però que encara no estan preparats per confirmar. Les dues ordres es poden combinar per gestionar els canvis en un dipòsit de Git i tenir diversos casos d'ús.

Git Stash Etapa Git
Git Stash s'utilitza per fer la còpia de seguretat dels fitxers Els fitxers s'afegeixen a l'índex git mitjançant l'etapa git.

Git Stash s'utilitza si necessiteu canviar a una altra tasca o branca mentre treballeu en una funció o correcció d'errors.

Les modificacions de les etapes de Git s'han d'incloure a la confirmació posterior quan utilitzeu l'ordre git add.

Quina carpeta emmagatzema l'historial de Git Stash?

Quan utilitzem git stash, les dades s'emmagatzemaran en forma d'emmagatzematge al nostre dipòsit local. Per defecte, les dades s'emmagatzemaran al fitxer git/refs/stash. En aquest fitxer, totes les referències s'emmagatzemen i les dades reals s'emmagatzemen al directori .git/objects, igual que altres objectes Git .

tipus d'unions en rdbms

L'ordre següent s'utilitza per llistar tots els dipòsits que s'han creat.

git stash list>

Com guardeu els canvis a Git?

Per desar els canvis no compromesos per a un ús posterior, podeu utilitzar el 'git stash' comandament. Aquesta ordre desa les vostres modificacions locals i reverteix el directori de treball perquè coincideixi amb la confirmació HEAD de manera que us proporcionarà un directori de treball net.

Aquí hi ha algunes opcions importants que s'utilitzen més àmpliament:

    Git stash Git stash desa la llista Git stash Git stash aplica els canvis de Git stash pop Git stash drop Git stash esborra la branca de Git stash

Emmagatzemar la teva feina (Git Stash)

git stash>
estat git

Per defecte, en execució git stash emmagatzemarà els canvis que s'han afegit al vostre índex (canvis per fases) i els canvis fets als fitxers dels quals Git fa un seguiment actualment (canvis sense fases). Per emmagatzemar els fitxers sense seguiment, feu servir git stash -u .

Gestió de múltiples emmagatzematges (Llista de Git Stash)

Podeu crear diversos emmagatzematges i visualitzar-los mitjançant el 'Llista d'emmagatzematge de git' comandament. Cada entrada d'emmagatzematge es mostra amb el seu nom (p. ex. emmagatzematge@{1} ), el nom de la branca que era actual quan es va fer l'entrada i una breu descripció de la confirmació en què es va basar l'entrada.

git stash list>
llista git stash

Per proporcionar més context a l'emmagatzematge, el creem mitjançant l'ordre següent:

git stash save 'message'>

Què són Git Stash Apply i POP (Git Stash Apply i POP)

Podeu tornar a aplicar els canvis amagats anteriorment amb el 'git stash pop' o 's'aplica git stash' ordres. L'única diferència entre ambdues ordres és que 'git stash pop' elimina els canvis de l'emmagatzematge i torna a aplicar els canvis a la còpia de treball mentre 's'aplica git stash' només torna a aplicar els canvis a la còpia de treball sense eliminar els canvis de l'emmagatzematge. En paraules senzilles, pop elimina l'estat de la llista d'emmagatzematge mentre aplicar no elimina l'estat de la llista d'emmagatzematge. Amb l'ajuda de l'ordre posterior, podem tornar a aplicar els canvis emmagatzemats. L'emmagatzematge més actual s'aplicarà al nostre directori de treball i també s'agafarà de la llista d'emmagatzematge.

git stash pop>
git stash pop
git stash apply>
s'aplica git stash

Per defecte 'git stash pop' o 's'aplica git stash' tornarà a aplicar l'emmagatzematge creat més recentment: stash@{0} Per triar quin emmagatzematge aplicar, podeu passar l'identificador com a darrer argument ( Per ex. :- git stash pop stash@{2}).

Git Stash Show

git stash show L'ordre s'utilitza per mostrar el resum de les operacions realitzades a l'emmagatzematge.

git stash show>
git stash show

Creació d'una branca a partir de la vostra reserva (Git Stash Branch)

Si voleu crear i comprovar una branca nova a partir de la confirmació en què es va crear originalment l'emmagatzematge i aplicar els canvis desats a l'emmagatzematge, utilitzeu 'git stash branch nom_branca nom_escontat' . Deixa caure l'emmagatzematge que es dóna com a argument i si no es dóna cap emmagatzematge, deixa caure l'últim.

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

Neteja del teu dipòsit (Git Stash Clear)

Per suprimir qualsevol emmagatzematge concret ( Per exemple: – stash@{1}), utilitza 'git stash drop stash@{1}' . Per defecte, aquesta comanda baixarà emmagatzematge@{0} si no es proporciona cap argument ( git stash drop ). Per suprimir tots els emmagatzematges alhora, feu servir el botó 'Git Stash Clear' comandament.

Esborra Git Stash

L'ordre git stash ens permet mantenir les modificacions no compromeses perquè puguem utilitzar-les segons sigui necessari en el futur. Quan fem servir l'ordre git stash, es fa una còpia de seguretat automàtica dels fitxers. Això ens permet canviar de branca, dur a terme les nostres tasques i després recuperar fàcilment els fitxers quan estem preparats per tornar-hi a treballar.

Git stash

Emmagatzematge de fitxers sense seguiment o ignorats

Podem utilitzar l'ordre git stash per emmagatzemar els fitxers dels quals no es fan seguiment o s'ignoren. Seguint els passos següents podem amagar els nostres fitxers:

Pas 1: Emmagatzemeu els canvis amb l'ordre següent.

git stash save --include-untracked>

–include-untracked per això també amagarà tots els fitxers sense seguiment.

Pas 2: Verifica l'emmagatzematge:

Utilitzeu l'ordre següent per confirmar que s'ha creat l'emmagatzematge:

git stash list>

Pas 3: Mitjançant l'ordre següent, podem recuperar i aplicar l'emmagatzematge.

git stash apply stash@{0}>

Pas 4: Un cop finalitzada la recuperació de l'emmagatzematge si no és desitjat, podem eliminar-lo mitjançant l'ordre següent.

git stash drop stash@{0}>

Bones pràctiques de Git Stash

Aquestes són algunes de les millors pràctiques per utilitzar el Git stash comandament.

  1. No feu un ús excessiu de git stash: Git stash s'ha d'utilitzar amb moderació sempre que sigui molt important treballar en una altra tasca, llavors només hauríem d'utilitzar git stash, ja que afectarà els canvis que s'hagin de fer en la confirmació.
  2. Eviteu missatges innecessaris: Amb git stash, podeu afegir un missatge per descriure els canvis que esteu guardant. Fes que el missatge tingui sentit. Quan més endavant necessiteu recordar què hi ha a l'emmagatzematge, us serà útil. Utilitzeu declaracions informatives i evocadores i que reflecteixin amb precisió els canvis que s'oculten.
  3. Ocupa oficines: L'emmagatzematge és una eina útil quan es treballa amb branques de Git. Abans d'emmagatzemar els canvis, feu una nova branca perquè pugueu canviar a diferents tasques o branques sense afectar els vostres canvis actuals. Torneu a la branca i apliqueu l'emmagatzematge quan estigueu preparat per treballar una vegada més en les modificacions.
  4. Els canvis s'han de fer tan aviat com sigui possible: l'emmagatzematge només s'ha d'utilitzar com a solució temporal. Un cop hàgiu acabat de fer un conjunt de canvis, hauríeu d'enviar-los al repositori per conservar un registre dels canvis.