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 …

  1. felülírja az aktuális elágazást, így az a helyes véglegesítésre mutat / li>
  2. 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.

Vélemény, hozzászólás?

Az email címet nem tesszük közzé. A kötelező mezőket * karakterrel jelöltük