Git Stashi selgitus: kuidas kohalikke muudatusi Gitis ajutiselt salvestada

Gitil on ala, mida nimetatakse varikatuseks, kuhu saate ajutiselt oma muudatuste hetktõmmise salvestada, hoidlasse suunamata. See on eraldi töökataloogist, lavastuspiirkonnast või hoidlast.

See funktsioon on kasulik, kui olete teinud muudatusi harus, mida te pole veel valmis tegema, kuid peate üle minema teisele harule.

Kätte muudatused

Muudatuste salvestamiseks salves käivitage käsk:

git stash save "optional message for yourself"

See salvestab teie muudatused ja taastab töökataloogi selliseks, nagu see viimase seadistuse jaoks välja nägi. Säilitatud muudatused on saadaval selle hoidla mis tahes harus.

Pange tähele, et muudatused, mille soovite salvestada, peavad olema jälgitud failides. Kui lõite uue faili ja proovite muudatusi varjata, võite tõrke saada No local changes to save.

Kuva peidetud muudatused

Kätes oleva sisu vaatamiseks käivitage käsk:

git stash list

See tagastab teie salvestatud hetktõmmiste loendi vormingus [email protected]{0}: BRANCH-STASHED-CHANGES-ARE-FOR: MESSAGE. [email protected]{0}Osa on nimi stash ja number looksulg ( { }) on indeks, mis stash. Kui teil on mitu muudatuste komplekti paigutatud, on igaühel erinev indeks.

Kui unustasite, millised muudatused röövmargis tehti, näete nende kokkuvõtet git stash show NAME-OF-STASH. Kui soovite näha tüüpilist diff-stiilis plaastri paigutust (rida-realt muudatuste jaoks plussmärkidega + ja -märkidega), võite lisada -pvaliku (plaastri jaoks). Siin on näide:

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

Too peidetud muudatused

Muudatuste leidmiseks kaardist ja rakendamiseks praegusele harule, kus olete, on teil kaks võimalust.

  1. git stash apply STASH-NAME rakendab muudatused ja jätab koopia salve
  2. git stash pop STASH-NAME rakendab muudatused ja eemaldab failid salve

Muudatuste rakendamisel võib tekkida konflikte. Konfliktid saate lahendada sarnaselt ühendamisele (vt git mergeüksikasju).

Kustuta peidetud muudatused

Kui soovite peidetud muudatused eemaldada ilma neid rakendamata, käivitage käsk:

git stash drop STASH-NAME

Kogu jaotise kustutamiseks käivitage käsk:

git stash clear