17. Elkötelezettség eltávolítása az ágról
Célok
- Megtanulni törölni az ág legújabb elkötelezettségeit
Revert
az előző szakasz erőteljes parancsa, amely lehetővé teszi, hogy törölje az összes adattárba történő visszavonást. Mindazonáltal mind az eredeti, mind a törölt változtatások láthatók a történelemben (ha a git log
parancsot használjuk).
Gyakran rájövünk, hogy hiba történt, miután egy kötelezettségvállalás már megtörtént. Jó lenne, ha visszavonás parancs, amely lehetővé teszi a helytelen elkötelezettség (ek) azonnali törlését. Ez a parancs megakadályozná egy vagy több nem kívánt elkövetés megjelenését a git log
előzmények között.
01 A reset parancs
A reset
parancsot már alkalmaztuk a pufferzóna és a kiválasztott lekötés (az előző leckében a HEAD elkötelezettség) megfeleltetéséhez. / p>
Ha egy elkötelezettség hivatkozást ad meg (pl. ág, hash vagy címke neve), akkor a reset
parancs …
- felülírja az aktuális elágazást, így az a helyes véglegesítésre mutat / li>
- Opcionálisan állítsa alaphelyzetbe a munkakönyvtárat, hogy az megegyezzen a megadott kötelezettséggel .
Futtatás:
git hist
Eredmény:
Látjuk, hogy az ág utolsó két elkövetése “Hoppá “és” Visszaállítás hoppá “. Távolítsuk el őket a
reset
paranccsal.03 Jelölje meg először ezt az elágazást
Jelöljük meg az utolsó elkötelezettséget a következővel:
tag, so you can find it after removing a commit(s).
Futtatás:
git tag oops
04 Visszaállítás a korábbi Hoppá
a fenti előzménynaplóban, a “v1” címkével ellátott elkövetés az “Oops” és a “Hoppá visszaállítása” elkövetése előtt van. Állítsuk vissza az ágat arra a pontra. Mivel az ágnak van címkéje, használhatjuk a címke nevét a reset parancsban (ha nincs tagje, akkor használhatjuk a hash értéket).
Futtatás:
git reset --hard v1git hist
Eredmény:
Fő águnk a v1 elkötelezettségre mutat, és a “Visszaállítás hopp” és “Hopp” elkötelezettségek már nem léteznek az ágban. A
--hard
paraméter hatására a munkakönyvtár az új ágfejet tükrözi.05 Soha semmi nem veszett el
Mi történt a rossz elkövetésekkel? Még mindig a tárban vannak. Valójában még mindig hivatkozhatunk rájuk. A lecke elején létrehoztuk a “hopp” címkét a törölt elkötelezettséghez. Vessünk egy pillantást az összes elkövetésre.
Futtatás:
git hist --all
Eredmény:
Láthatjuk, hogy a rossz elkövetések nem tűnnek el. Már nem szerepelnek a fő ágban, de továbbra is a tárban maradnak. Még mindig a tárban lennének, ha nem jelölnénk meg őket, de akkor csak hash nevükkel hivatkozhatnánk rájuk. A referencia nélküli véglegesítések addig maradnak az adattárban, amíg a rendszer nem futtatja a szemétgyűjtő szoftvert.
06 Veszélyek visszaállítása
A helyi fiókokban végzett alaphelyzetbe állítások általában ártalmatlanok. Bármely “baleset” következményei visszavonhatók a megfelelő elkötelezettség használatával.
Azonban a fiókot megosztó többi felhasználó megzavarodhat, ha a fiókot távoli adattárakban osztják meg.
admin0