„Test Git“ saugyklos nustatymas:
Šiame skyriuje ketinu klonuoti vieną savo „GitHub“ saugyklą savo kompiuteryje, kad sukurtumėte šio straipsnio bandomąją saugyklą. Jei norite sekti paskui, tai galite padaryti ir jūs. Jei turite savo „Git“ saugyklą, su kuria galėsite dirbti, puiku! Jūs taip pat galite jį naudoti.
Klonuoti vieną iš mano „GitHub“ saugyklos (https: // github.com / dev-shovon / my-project), vykdykite šią komandą:
$ git klonas https: // github.com / dev-shovon / my-project undo_commit_demo
„GitHub“ saugykla turėtų būti klonuota undo_commit_demo / kataloge.
Dabar eikite į undo_commit_demo / katalogą taip:
Įsipareigojimas, kurį norite anuliuoti, gali būti kitoje šakoje kaip mano. Noriu anuliuoti paskutinį įsipareigojimą ty-taisyti atšaka. Taigi, aš turiu traukti šaką ty-taisyti iš mano „GitHub“ saugyklos.
Galite traukti ty-taisyti filialas iš „GitHub“ taip:
$ git pull origin ie-fixPASTABA: Čia, ty-taisyti yra filialo pavadinimas.
The ty-taisyti šaką reikia traukti.
Dabar atsiskaitykite į filialą (mano atveju, ty-taisyti), iš kurio norite anuliuoti paskutinį įsipareigojimą, atlikite šiuos veiksmus:
$ git checkout ie-fix
Kaip matote, paskutinis ty-taisyti filialas yra aec00f3. Kituose skyriuose aš jums parodysiu būdus, kaip anuliuoti paskutinį įsipareigojimą jūsų „Git“ saugykloje.
Anuliuoti paskutinį įsipareigojimą ir išsaugoti pakeitimus:
Vienas iš būdų anuliuoti paskutinį įsipareigojimą yra naudojimasis „Git“ saugyklos naudojimu. Tai yra tai, kad paskutinis įsipareigojimas pašalinamas ir pakeitimai, kuriuos atlikote šiame įsipareigojime, pridedami prie jūsų „Git“ saugyklos etapo srities. Tokiu būdu, jei norite ką nors išspręsti, galite modifikuoti failus ir pridėti naują įsipareigojimą.
Kaip matote, paskutinis įsipareigojimas mano ty-taisyti filialas yra aec00f3.
$ git žurnalas - tiesioginis
Be to, mano sustojimo vieta yra švari.
$ git būsena
Dabar, norėdami pašalinti arba anuliuoti paskutinį įsipareigojimą, vykdykite šią komandą:
$ git reset - minkšta GALVA ~ 1
Kaip matote, įsipareigokite aec00f3 dingo.
$ git žurnalas - tiesioginis
Be to, failas, kurį pakeičiau atlikdamas paskutinį įsipareigojimą, yra mano sustojimo srityje.
$ git būsena
Dabar galite toliau modifikuoti failus, ištaisyti padarytas klaidas ir vėl atlikti pakeitimus.
Anuliuoti paskutinį įsipareigojimą ir pašalinti pakeitimus:
Jei paskutinis įsipareigojimas, kurį norite pašalinti, jums nenaudingas, galite apsvarstyti galimybę iš naujo nustatyti „Git“ saugyklą. Tai, ką daro iš naujo, pašalina paskutinį įsipareigojimą kaip ir anksčiau. Bet taip pat pašalinami visi pakeitimai, kuriuos atlikote atlikdami paskutinį įsipareigojimą. Atlikite griežtą atstatymą tik tada, kai esate tikri, kad jums nebereikia nieko iš paskutinio įsipareigojimo.
Aš ketinu traukti ty-taisyti filialas iš mano „GitHub“ saugyklos dar kartą atkurti paskutinį įsipareigojimą aec00f3 ir vėl pašalinkite šiame skyriuje.
$ git pull origin ie-fix
Kaip matote, paskutinis įsipareigojimas grįžo. Jei jūsų „Git“ saugykla yra įkelta į „Git“ debesies paslaugą, pvz., „GitHub“, taip pat galite atkurti visus klaidos veiksmus, kuriuos pašalinote klaidingai.
Kaip matote, mano pastatymo vieta yra švari.
$ git būsena
Dabar, norėdami pašalinti paskutinį įsipareigojimą ir pašalinti pakeitimus, vykdykite šią komandą:
$ git reset - hard HEAD ~ 1
Paskutinis įsipareigojimas turėtų būti pašalintas ir GALVA žymeklis turėtų būti atnaujintas.
Kaip matote, įsipareigokite aec00f3 panaikinamas ir įsipareigojama iškart prieš tai (3fffdee) yra paskutinis paskutinis įsipareigojimas.
$ git žurnalas - tiesioginis
Sustojimo vieta taip pat švari. Taigi, pakeitimų failai iš pašalinto įsipareigojimo egzistuoja.
$ git būsena
Atnaujinama nuotolinio „Git“ saugykla:
Dabar, kai sėkmingai pašalinote klaidingą įsipareigojimą iš savo „Git“ saugyklos, galbūt norėsite atnaujinti ir savo „GitHub“ saugyklą. Tai yra šio skyriaus tema.
Kaip matai, git statusas taip pat rodo, kad nuo nuotolinės saugyklos atsilieku 1.
Prieš atnaujindamas savo „GitHub“ saugyklą, įsipareigokite aec00f3 egzistuoja, nors pašalinau jį iš vietinės „Git“ saugyklos, kaip matote.
Norėdami sinchronizuoti vietinę „Git“ saugyklą su „GitHub“ saugykla, vykdykite šią komandą:
$ git push - jėgos kilmė ty-fixVietinės „Git“ saugyklos pakeitimai turėtų būti sinchronizuojami su „GitHub“ saugykla.
Turėtų būti atnaujinta „GitHub“ saugykla. Kaip matote, įsipareigokite aec00f3 nebėra sąraše. Įsipareigoti prieš pat aec00f3, kuris yra 3fffdee dabar yra paskutinis įsipareigojimas.
Taigi, taip atšaukiate paskutinį įsipareigojimą „Git“. Dėkojame, kad perskaitėte šį straipsnį.