Hogyan juthat vissza (visszatér) egy korábbi elkövetni verem túlcsordulás az orosz
Ezt a kérdést is különbözőképpen értelmezik:
- Mit jelent az, hogy menjen vissza, vagy roll: csak nézd, változtatni a tartalmát a munkaterületet, módosítsa a történelem Git?
- Pontosan mi rollback: munkaterület (worktree), az index (staging területén követtek el, átmeneti terület), az aktuális ág, távoli ág?
- Melyik pozícióban rollback: a mutató az utóbbi arra vállalkozik, hogy egy tetszőleges elkövetni?
Jelöljük a kiinduló helyzet az alábbi diagram:
A. B. C. D - vállalja, hogy az ág mester.
(Fej) - HEAD mutató helyét.
(I) - állapota a Git index. Ha egybeesik c (HEAD) - üres. Ha nem - tartalmazza változások készülnie a következő elkövetni.
(Wt) - az állam a projekt munkaterület (munka fa). Ha egybeesik (i) - nincs nem-indexelt változásokat, ha nem ugyanaz - van egy változás.
↑ jelöli a elkövetni, ami azt jelzi, egy bizonyos ága vagy mutató.
Íme megoldások, a feladattól függően:
Ha csak meg kell váltani egy másik követ el, például, hogy vizsgálja meg annak tartalmát, kellő uralom git pénztár:
Most a adattár állapotban «álló fej». Ha vissza szeretne váltani, használja a nevét az ág (pl master):
Ha azt szeretnénk, hogy továbbra is egy másik követ el, szüksége van egy új sort. Meg lehet váltani, és hozzon létre, mint egy csapat:
3.1 Biztonságos - segítségével egy zseb (stash)
3.1.1 Csak a nem indexelt
Akkor lehet távolítani, hogy zsebben csak a változásokat, amelyek még nem indexelt (add parancs):
3.1.2 indexelt, és nem
Ez a parancs törli az összes indexelt és nem indexelt változások a munkaterületen, tárolja őket a zsebében (stash).
Helyreállítás mentett módosításokat tartalmaz. könnyű és egyszerű.
Ha a rejtjük nincs szükség, azt el lehet távolítani.
Ezután állítsa a változások még lehetséges, de bonyolultabb: Hogyan lehet visszaállítani a bedobott stash Git?
3.2 Veszély május
Vigyázat! Ez a parancs véglegesen törli az aktuális mentett módosításokat a munkaterületre, és az index, ha továbbra is szükség van, akkor git rejtjük.
Itt fogjuk használni git alaphelyzetbe --hard
4.1 Ugyanakkor a módosítások mentéséhez lerakat index:
Ezt követően a tároló index tartalmazni fogja az összes változik cccccc a dddddd. Most lehet, hogy egy új elkövetni (vagy több) alapján ezeket a változásokat.
4.2 Mentse el a módosításokat a munkaterületen, de nem szerepelnek az indexben.
Ez a parancs csak mozgatja a mutatót ág, de nem tükrözi a változást az index (az üres lesz).
4.3 Csak dobd a változást.
Vigyázat! Ez a parancs véglegesen törli az aktuális mentett módosításokat tartalmaz. Ha törölt commit nem tartoznak semmilyen más ága, azok is elvesznek.
Recovery követ. Használja git reflog és ez a kérdés, hogy megtalálja és helyreállítása véglegesítésekhez; egyébként a szemétgyűjtő eltávolítja őket folyamatosan egy idő után.
A következő parancs git visszaállítás. Teremt új vállalkozik, egy minden visszavont elkövetni. Így, ha meg akarjuk szüntetni minden követ után aaaaaa: