Git are o zonă numită stash în care puteți stoca temporar un instantaneu al modificărilor dvs. fără a le trimite în depozit. Este separat de directorul de lucru, zona intermediară sau depozitul.
Această funcționalitate este utilă atunci când ați făcut modificări la o ramură pe care nu sunteți gata să o angajați, dar trebuie să comutați la o altă ramură.
Conţinut
Schimbați modificările
Pentru a salva modificările în stoc, rulați comanda:
git stash save "optional message for yourself"
Acest lucru vă salvează modificările și readuce directorul de lucru la ceea ce arăta pentru cea mai recentă validare. Modificările ascunse sunt disponibile din orice sucursală din acel depozit.
Rețineți că modificările pe care doriți să le ascundeți trebuie să fie în fișierele urmărite. Dacă ați creat un fișier nou și încercați să ascundeți modificările, este posibil să primiți eroarea No local changes to save
.
Vizualizați modificările ascunse
Pentru a vedea ce este în stoc, rulați comanda:
git stash list
Aceasta returnează o listă a instantaneelor salvate în format stash@{0}: BRANCH-STASHED-CHANGES-ARE-FOR: MESSAGE
. stash@{0}
partea este numele stash-ului și numărul din acoladele ({ }
) este indicele acelei stash. Dacă aveți mai multe seturi de modificări ascunse, fiecare va avea un index diferit.
Dacă ați uitat ce modificări au fost făcute în stoc, puteți vedea un rezumat al acestora cu git stash show NAME-OF-STASH
. Dacă doriți să vedeți aspectul tipic al patch-urilor în stil dif (cu + și pentru schimbări linie cu linie), puteți include -p
(pentru patch) opțiune. Iată un exemplu:
git stash show -p stash@{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
Preluați modificările ascunse
Pentru a prelua modificările din stoc și a le aplica la ramura curentă în care vă aflați, aveți două opțiuni:
-
git stash apply STASH-NAME
aplică modificările și lasă o copie în stoc -
git stash pop STASH-NAME
aplică modificările și elimină fișierele din stoc
Pot exista conflicte atunci când aplicați modificări. Puteți rezolva conflictele similare unei îmbinări (a se vedea git merge
pentru detalii).
Ștergeți modificările ascunse
Dacă doriți să eliminați modificările ascunse fără a le aplica, rulați comanda:
git stash drop STASH-NAME
Pentru a șterge întregul stoc, rulați comanda:
git stash clear
#Git #Stash #explicat #Cum #stochează #temporar #modificările #locale #în #Git
Git Stash explicat: Cum se stochează temporar modificările locale în Git