Objašnjeno skrivanje Gita: Kako privremeno pohraniti lokalne promjene u Gitu

Git ima područje koje se naziva skrivanje, gdje možete privremeno spremiti snimku svojih promjena bez da ih predate u spremište. To je odvojeno od radnog imenika, pripremnog područja ili spremišta.

Ova je funkcija korisna kada ste unijeli promjene u granu koju niste spremni za urezivanje, ali morate se prebaciti na drugu granu.

Stash promjene

Da biste spremili promjene u zalihu, pokrenite naredbu:

git stash save "optional message for yourself"

Ovo sprema vaše promjene i vraća radni direktorij na izgled kako je izgledao za najnovije urezivanje. Skrivene promjene dostupne su iz bilo koje grane u tom spremištu.

Imajte na umu da promjene koje želite spremiti moraju biti na praćenim datotekama. Ako ste stvorili novu datoteku i pokušali skrivati ​​promjene, možda ćete dobiti pogrešku No local changes to save.

Pogledajte skrivene promjene

Da biste vidjeli što se nalazi u vašem spremniku, pokrenite naredbu:

git stash list

Ovo vraća popis spremljenih snimaka u formatu [email protected]{0}: BRANCH-STASHED-CHANGES-ARE-FOR: MESSAGE. [email protected]{0}Dio je naziv skriti, a broj u vitičastim zagradama ( { }) je indeks tog skriti. Ako imate više skrivenih skupova promjena, svaki će imati drugačiji indeks.

Ako ste zaboravili koje su promjene izvršene u spremniku, možete vidjeti sažetak istih pomoću git stash show NAME-OF-STASH. Ako želite vidjeti tipičan raspored zakrpa u različitom stilu (s oznakama + i -jima za promjene po redu), možete uključiti opciju -p(za zakrpu). Evo primjera:

git stash show -p [email protected]{0} # Example result: diff --git a/PathToFile/fileA b/PathToFile/fileA index 2417dd9..b2c9092 100644 --- a/PathToFile/fileA +++ b/PathToFile/fileA @@ -1,4 +1,4 @@ -What this line looks like on branch +What this line looks like with stashed changes

Dohvati skrivene promjene

Imate dvije mogućnosti za preuzimanje promjena iz spremnika i njihovu primjenu na trenutnu granu na kojoj se nalazite:

  1. git stash apply STASH-NAME primjenjuje promjene i ostavlja kopiju u zalihi
  2. git stash pop STASH-NAME primjenjuje promjene i uklanja datoteke iz skrivenog prostora

Može doći do sukoba kada primijenite promjene. Možete riješiti sukobe slične spajanju (pogledajte git mergedetalje).

Izbriši skrivene promjene

Ako želite ukloniti skrivene promjene bez njihove primjene, pokrenite naredbu:

git stash drop STASH-NAME

Da biste očistili cijelu zalihu, pokrenite naredbu:

git stash clear