Git

Kako razveljaviti zadnji zapis v Gitu

Kako razveljaviti zadnji zapis v Gitu
Običajni potek dela v Gitu je, da spremenite svoj projekt, dodate spremembe na odrsko območje, zavežete spremembe, naredite nove spremembe, uprizorite spremembe, zavežete spremembe in gre naprej in naprej. Kaj pa, če ste pomotoma storili spremembe? No, ne boj se. V Gitu lahko vedno razveljavite svojo zadnjo odobritev. V tem članku vam bom pokazal, kako razveljaviti zadnji prevzem v Gitu. Torej, začnimo.

Nastavitev testnega repozitorija Git:

V tem razdelku bom kloniral enega od svojih skladišč GitHub v svojem računalniku, da bom postavil testno skladišče za ta članek. Če želite nadaljevati, lahko to storite tudi vi. Če imate lastno shrambo Git, s katero lahko delate, potem super! Uporabite ga lahko tudi vi.

Za kloniranje enega od mojega skladišča GitHub (https: // github.com / dev-shovon / my-project), zaženite naslednji ukaz:

$ git klon https: // github.com / dev-shovon / my-project undo_commit_demo

Skladišče GitHub je treba klonirati undo_commit_demo / imenik.

Zdaj se pomaknite do undo_commit_demo / imenik, kot sledi:

Obveza, ki jo želite razveljaviti, je lahko v drugi veji, kot je moja. Želim razveljaviti zadnji prevzem datoteke tj-popraviti podružnica. Torej, moram potegniti vejo tj-popraviti iz mojega skladišča GitHub.

Lahko potegnete tj-popraviti podružnica iz GitHub, kot sledi:

$ git pull origin ie-fix

OPOMBA: Tukaj, tj-popraviti je ime podružnice.

The tj-popraviti vejo je treba potegniti.

Zdaj pa odjava do podružnice (v mojem primeru, tj-popraviti), iz katerega želite razveljaviti zadnji prevzem, kot sledi:

$ git checkout ie-fix

Kot lahko vidite, je zadnji prevzem datoteke tj-popraviti podružnica je aec00f3. V naslednjih razdelkih vam bom predstavil načine razveljavitve zadnjega sprejema v vašem skladišču Git.

Razveljavi zadnjo objavo in obdrži spremembe:

Eden od načinov za razveljavitev zadnje odobritve je uporaba mehke ponastavitve v vašem skladišču Git. To se zgodi tako, da se zadnja odobritev odstrani in spremembe, ki ste jih naredili v tej zavezi, dodajo v odrsko območje vašega skladišča Git. Na ta način lahko, če želite kaj popraviti, spremenite datoteke in dodate novo objavo.

Kot lahko vidite, je zadnji prevzem v mojem tj-popraviti podružnica je aec00f3.

$ git log --oneline

Tudi moj oder je čist.

$ git status

Zdaj, če želite odstraniti ali razveljaviti zadnjo odobritev, zaženite naslednji ukaz:

$ git reset --soft HEAD ~ 1

Kot lahko vidite, se zavežite aec00f3 izginilo je.

$ git log --oneline

Datoteka, ki sem jo spremenil v zadnji objavi, je v mojem odrskem območju.

$ git status

Zdaj lahko datoteke še dodatno spremenite, popravite napake in spremembe znova odobrite.

Razveljavi zadnjo odobritev in odstrani spremembe:

Če je zadnja odobritev, ki jo želite odstraniti, za vas neuporabna, lahko razmislite o strogi ponastavitvi vašega skladišča Git. Trda ponastavitev je, da odstrani zadnji prevzem kot prej. Odstrani pa tudi vse spremembe, ki ste jih naredili v zadnji zavezi. Natančno ponastavite šele, ko ste prepričani, da ne potrebujete več ničesar od zadnje odobritve.

Potegnil bom tj-popraviti znova iz mojega repozitorija GitHub, da obnovim zadnjo odobritev aec00f3 in ga ponovno odstranite v tem razdelku.

$ git pull origin ie-fix

Kot lahko vidite, se je zadnji prevzem vrnil. Če je vaše repozitorij Git naložen v storitev Git v oblaku, kot je GitHub, lahko obnovite tudi katero koli objavo, ki ste jo pomotoma odstranili.

Kot lahko vidite, je moje uprizoritveno območje čisto.

$ git status

Zdaj, da odstranite zadnjo odobritev in odstranite spremembe v tej zavezi, zaženite naslednji ukaz:

$ git reset --hard HEAD ~ 1

Odstrani zadnjo odobritev in GLAVA kazalec je treba posodobiti.

Kot lahko vidite, se zavežite aec00f3 je odstranjena in objava tik pred tem (3fffdee) je trenutni zadnji prevzem.

$ git log --oneline

Tudi odrsko območje je čisto. Torej obstajajo datoteke sprememb iz odstranjenega predaja.

$ git status

Posodabljanje oddaljenega repozitorija Git:

Zdaj, ko ste uspešno odstranili napačno objavo iz svojega skladišča Git, boste morda želeli posodobiti tudi svoje skladišče GitHub. To je tema tega poglavja.

Kot lahko vidite, git status tudi kaže, da zaostajam za 1 oddaljenim repozitoriju.

Preden sem posodobil svoj repozitorij GitHub, se datoteka commit aec00f3 obstaja, čeprav sem ga, kot vidite, odstranil iz lokalnega repozitorija Git.

Če želite sinhronizirati lokalni repozitorij Git s skladiščem GitHub, zaženite naslednji ukaz:

$ git push --force origin ie-fix

Spremembe lokalnega skladišča Git je treba sinhronizirati s skladiščem GitHub.

Repozitorij GitHub je treba posodobiti. Kot lahko vidite, se zavežite aec00f3 ni več na seznamu. Obveza neposredno pred aec00f3, kateri je 3fffdee je zdaj zadnji prevzem.

Torej, tako razveljavite zadnji prevzem v Gitu. Hvala, ker ste prebrali ta članek.

Vadnica za OpenTTD
OpenTTD je ena izmed najbolj priljubljenih poslovnih simulacijskih iger. V tej igri morate ustvariti čudovit prevozniški posel. Vendar boste začeli na...
SuperTuxKart za Linux
SuperTuxKart je odličen naslov, zasnovan tako, da vam brezplačno ponuja izkušnjo Mario Kart v vašem sistemu Linux. Igrati je precej zahtevno in zabavn...
Vadnica za bitko za Wesnoth
Bitka za Wesnoth je ena izmed najbolj priljubljenih odprtokodnih strateških iger, ki jih lahko trenutno igrate. Ne samo, da se ta igra razvija že zelo...