De vegades voleu canviar de branca, però esteu treballant en una part incompleta del vostre projecte actual. No vols comprometre't amb el treball a mig fer. L'emmagatzematge de Git us permet fer-ho. El comanda git stash us permet canviar de branca sense comprometre la branca actual.
La figura següent mostra les propietats i el paper de l'emmagatzematge pel que fa al dipòsit i al directori de treball.
En general, el significat de l'emmagatzematge és ' emmagatzemar alguna cosa amb seguretat en un lloc amagat .' El sentit a Git també és el mateix per a stash; Git desa temporalment les vostres dades de manera segura sense comprometre's.
L'emmagatzematge pren l'estat desordenat del vostre directori de treball i el deseu temporalment per a un ús posterior. Hi ha moltes opcions disponibles amb git stash. A continuació es donen algunes opcions útils:
Treball d'emmagatzematge
Entenem-ho amb un escenari en temps real. He fet canvis al meu projecte GitExample2 en dos fitxers de dues branques diferents. Estic en un estat desordenat i encara no he editat cap fitxer completament. Així que vull guardar-lo temporalment per a un ús futur. El podem amagar per desar-lo com a estat actual. Per emmagatzemar, fem una ullada a l'estat actual del dipòsit. Per comprovar l'estat actual del dipòsit, executeu l'ordre git status. L'ordre git status s'utilitza com:
any per trimestres
Sintaxi:
$ git status
Sortida:
A la sortida anterior, podeu veure l'estat que hi ha dos fitxers sense seguiment disseny.css i nou fitxer.txt disponible al repositori. Per desar-lo temporalment, podem utilitzar l'ordre git stash. L'ordre git stash s'utilitza com:
Sintaxi:
$ git stash
Sortida:
A la sortida donada, el treball es desa amb l'ordre git stash. Podem comprovar l'estat del repositori.
Com podeu veure, el meu treball només està amagat a la seva posició actual. Ara, el directori està netejat. En aquest punt, podeu canviar entre branques i treballar-hi.
Git Stash Save (desant els dipòsits amb el missatge):
A Git, els canvis es poden amagar amb un missatge. Per amagar un canvi amb un missatge, executeu l'ordre següent:
Sintaxi:
$ git stash save ''
Sortida:
L'emmagatzematge anterior es desarà amb un missatge
Llista Git Stash (comproveu els dipòsits emmagatzemats)
Per comprovar els dipòsits emmagatzemats, executeu l'ordre següent:
Sintaxi:
$ git stash list
Sortida:
En el cas anterior, n'he fet un dipòsit, que es mostra com a ' stash@{0}: WIP a la prova: fitxer CSS 0a1a475 '.
Si tenim més d'un emmagatzematge, mostrarà tots els emmagatzematges respectivament amb un identificador d'emmagatzematge diferent. Considereu la sortida següent:
Mostrarà tots els dipòsits amb indexació com emmagatzematge@{0}: emmagatzematge@{1}: etcètera.
Aplicació de Git Stash
Podeu tornar a aplicar els canvis que acabeu d'emmagatzemar mitjançant l'ordre git stash. Per aplicar la confirmació, utilitzeu l'ordre git stash, seguida de l'opció d'aplicació. S'utilitza com a:
Sintaxi:
$ git stash apply
Sortida:
La sortida anterior restaura l'últim dipòsit. Ara, si comproveu l'estat del repositori, mostrarà els canvis que es fan al fitxer. Considereu el següent sortida:
A la sortida anterior, podeu veure que el dipòsit es restaura al seu estat anterior abans de l'emmagatzematge. Es mostra la sortida com a ' Canvis no escenificats per al compromís .'
En cas de més d'un emmagatzematge, podeu utilitzar l'ordre 'git stash apply' seguit de l'identificador de l'índex d'emmagatzematge per aplicar la confirmació concreta. S'utilitza com a:
Sintaxi:
$ git stash apply
Considereu la sortida següent:
Sortida:
java convertir cadena a enter
Si no especifiquem un emmagatzematge, Git agafa l'emmagatzematge més recent i prova d'aplicar-lo.
Canvis de Git Stash
Podem fer un seguiment dels dipòsits i els seus canvis. Per veure els canvis al fitxer abans de l'emmagatzematge i després de l'operació d'emmagatzematge, executeu l'ordre següent:
Sintaxi:
$ git stash show
L'ordre anterior mostrarà el fitxer amagat i els canvis realitzats. Considereu la sortida següent:
Sortida:
La sortida anterior il·lustra que hi ha dos fitxers amagats i que s'hi fan dues insercions.
Podem fer un seguiment exacte dels canvis que es fan al fitxer. Per mostrar el contingut canviat del fitxer, executeu l'ordre següent:
caràcter en cadena
Sintaxi:
$ git stash show -p
Aquí, -p significa l'emmagatzematge parcial. L'ordre donada mostrarà els fitxers i el contingut editats, tingueu en compte la sortida següent:
Sortida:
La sortida anterior mostra el nom del fitxer amb contingut modificat. Actua de la mateixa manera que l'ordre git diff. El git diff L'ordre també mostrarà la sortida exacta.
Git Stash Pop (torna a aplicar els canvis amagats)
Git permet a l'usuari tornar a aplicar els commits anteriors mitjançant l'ordre git stash pop. L'opció emergent elimina els canvis de l'emmagatzematge i els aplica al fitxer de treball.
L'ordre git stash pop és força semblant a git stash apply. La principal diferència entre aquestes dues ordres és l'ordre de pop d'emmagatzematge que elimina l'emmagatzematge de la pila després d'aplicar-lo.
Sintaxi:
$ git stash pop
L'ordre anterior tornarà a aplicar les confirmacions anteriors al dipòsit. Considereu la sortida següent.
Sortida:
Git Stash Drop (Desacosta)
El git stash drop L'ordre s'utilitza per eliminar un emmagatzematge de la cua. En general, elimina l'emmagatzematge més recent. S'ha de tenir precaució abans d'utilitzar l'ordre de caiguda d'emmagatzematge, ja que és difícil de desfer si un cop s'aplica.
L'única manera de revertir-lo és si no tanqueu el terminal després d'haver suprimit l'emmagatzematge. La comanda stash drop s'utilitzarà com a:
Sintaxi:
$ git stash drop
Sortida:
A la sortida anterior, l'emmagatzematge més recent (escondit@{0}) s'ha eliminat dels tres dipòsits donats. L'ordre stash list enumera tots els dipòsits disponibles a la cua.
També podem eliminar un emmagatzematge concret de la cua. Per suprimir un emmagatzematge concret dels emmagatzematges disponibles, passeu l'identificador de l'emmagatzematge a l'ordre de caiguda de l'emmagatzematge. Es tramitarà com:
Sintaxi:
$ git stash drop
Suposem que tinc dos dipòsits disponibles a la cua i que no vull deixar caure el meu més recent, però vull suprimir el més antic. Aleshores, s'operarà com:
$ git stash drop stash@{1}
Considereu la sortida següent:
A la sortida anterior, el commit emmagatzematge@{1} s'ha suprimit de la cua.
Esborra Git Stash
El git stash clear L'ordre permet suprimir tots els dipòsits disponibles alhora. Per suprimir tots els dipòsits disponibles, seguiu l'ordre següent:
Sintaxi:
$ git stash clear
suprimirà tots els dipòsits que hi ha al repositori.
Sortida:
Tots els dipòsits s'eliminen a la sortida anterior. L'ordre git stash list està en blanc perquè no hi ha amagats disponibles al dipòsit.
xor en java
Branca Git Stash
Si heu guardat una mica de feina en una branca concreta i continueu treballant en aquesta branca. Aleshores, pot crear un conflicte durant la fusió. Per tant, és bo guardar el treball en una branca separada.
L'ordre git stash branch permet a l'usuari emmagatzemar el treball en una branca separada per evitar conflictes. La sintaxi d'aquesta branca és la següent:
Sintaxi:
$ git stash branch
L'ordre anterior crearà una nova branca i transferirà el treball amagat. Considereu la sortida següent:
Sortida:
A la sortida anterior, el treball amagat es transfereix a una prova de branca acabada de crear. Evitarà el conflicte de combinació a la branca mestra.