Postavljanje testnog Git spremišta:
U ovom odjeljku klonirat ću jedno od svog GitHub spremišta na računalu kako bih postavio probno spremište za ovaj članak. Ako želite slijediti, možete i to učiniti. Ako imate svoje Git spremište za rad, onda sjajno! Možete ga i koristiti.
Za kloniranje jednog od mojih GitHub spremišta (https: // github.com / dev-shovon / my-project), pokrenite sljedeću naredbu:
$ git klon https: // github.com / dev-shovon / my-project undo_commit_demo
Spremište GitHub treba klonirati poništiti_komit_demo / imenik.
Sada idite na poništiti_komit_demo / direktorij kako slijedi:
Obveza koju želite poništiti može biti u drugoj grani poput moje. Želim poništiti posljednje urezivanje datoteke tj. popraviti podružnica. Dakle, moram povući granu tj. popraviti iz mog GitHub spremišta.
Možete povući tj. popraviti grana iz GitHub-a kako slijedi:
$ git pull origin tj. popravakBILJEŠKA: Ovdje, tj. popraviti je naziv podružnice.
The tj. popraviti treba povući granu.
Sada, naplata do podružnice (u mom slučaju, tj. popraviti) iz kojeg želite poništiti posljednji urezivanje na sljedeći način:
$ git checkout ie-fix
Kao što vidite, posljednji urezivanje datoteke tj. popraviti grana je aec00f3. U sljedećim odjeljcima pokazat ću vam načine poništavanja posljednjeg urezivanja na vašem Git spremištu.
Poništi posljednje urezivanje i zadrži promjene:
Jedan od načina poništavanja posljednjeg urezivanja je soft soft reset na vašem Git spremištu. Ovo se događa, uklanja se posljednje urezivanje, a promjene koje ste napravili u tom urezivanju dodaju se u stupnjevanje vašeg Git spremišta. Na ovaj način, ako želite nešto popraviti, možete izmijeniti datoteke i dodati novi predaj.
Kao što vidite, posljednji predaj u mojem tj. popraviti grana je aec00f3.
$ git log --oneline
Također, moje scensko područje je čisto.
$ git status
Sada, da biste uklonili ili poništili posljednje urezivanje, pokrenite sljedeću naredbu:
$ git reset --soft GLAVA ~ 1
Kao što vidite, počinite aec00f3 je otišao.
$ git log --oneline
Također, datoteka koju sam modificirao u posljednjem urezivanju nalazi se u mojem pripremnom području.
$ git status
Sada možete dalje mijenjati datoteke, ispravljati pogreške i počiniti promjene.
Poništi posljednje urezivanje i ukloni promjene:
Ako vam je posljednja predaja koju želite ukloniti beskorisna, tada možete razmotriti hard reset na vašem Git repozitoriju. Ono što čini hard reset je uklanjanje posljednjeg urezivanja kao i prije. Ali, također uklanja sve promjene koje ste napravili u posljednjem urezivanju. Napravite hard reset samo kad ste sigurni da vam više nije potrebno ništa od zadnjeg urezivanja.
Ja ću povući tj. popraviti grana iz mog GitHub spremišta ponovno za oporavak zadnjeg urezivanja aec00f3 i ponovno ga uklonite u ovom odjeljku.
$ git pull origin tj. popravak
Kao što vidite, zadnji se urezivanje vratio. Ako je vaše Git spremište preneseno na uslugu Git u oblaku kao što je GitHub, tada možete vratiti i sve pogreške koje ste pogrešno uklonili.
Kao što vidite, moje je inscenacijsko područje čisto.
$ git status
Sada, za uklanjanje posljednjeg urezivanja i uklanjanje promjena u tom urezivanju, pokrenite sljedeću naredbu:
$ git reset --hard HEAD ~ 1
Treba ukloniti posljednje urezivanje i GLAVA pokazivač treba ažurirati.
Kao što vidite, počinite aec00f3 se uklanja i urezivanje neposredno prije toga (3fffdee) je trenutno posljednje urezivanje.
$ git log --oneline
Prostor za uprizorenje je također čist. Dakle, postoje datoteke promjena iz uklonjenog urezivanja.
$ git status
Ažuriranje udaljenog Git spremišta:
Sad kad ste uspješno uklonili neispravno urezivanje iz svog Git spremišta, možda ćete htjeti ažurirati i svoje GitHub spremište. Ovo je tema ovog odjeljka.
Kao što vidiš, git status također pokazuje da zaostajem za 1 udaljenim spremištem.
Prije nego što sam ažurirao svoje GitHub spremište, commit aec00f3 postoji iako sam ga uklonio iz lokalnog Git spremišta kao što vidite.
Da biste sinkronizirali lokalno Git spremište s GitHub spremištem, pokrenite sljedeću naredbu:
$ git push --force origin tj. fixPromjene lokalnog Git spremišta trebaju se sinkronizirati s GitHub spremištem.
Spremište GitHub treba ažurirati. Kao što vidite, počinite aec00f3 više nije na popisu. Završi neposredno prije aec00f3, koji je 3fffdee je sada posljednja predaja.
Dakle, na taj način poništavate posljednji urezivanje u Gitu. Hvala što ste pročitali ovaj članak.