Kako se vratiti na prethodnu verziju koda putem gita?

Neretko se dešava da napravimo grešku prilikom slanja koda ili se predomislimo, pa želimo da se vratimo na prethodno stanje. Kako da to izvedemo u gitu?

Poništavanje lokalnih izmena koje još nisu komitovane

Ako ste se potpuno pogubili sa lokalnim izmenama i želite da ih sve obrišete tako da kod vratite na stanje jednako onom u centralnom repozitorijumu, pratite sledeće korake.

Najpre koristite git status kako bi videli koji su svi fajlovi različiti od u centralnom repozitorijumu.

Potom pomoću komande git checkout i ime datoteke sve obrišete i vratite na početno stanje. Nestaće sve lokalne promene na kodu.

Imajte u vidu da ova komanda neće u raditi u slučaju da imate neke izmene koje čekaju merge.

Uklanjanje komita koji je već poslat (pushed) na centralni repozitorijum

Svaki komit, što već verovatno znate, ima svoj jedinstveni broj. Pronađete taj broj pomoću komande git log i onda upotrebite git revert komandu. Dodatak –no-edit znači da komitujete bez komentara. U suprotnom ulazite u VIM editor. Iz njega izlazite sa :q komande.

Ova komande revert će poništiti komit tako što će napraviti novi koji ga briše.

Potom samo treba da uradite git push kako bi komit poslali u centralni repozitorijum.

Povlačanje poslednjeg komita u lokalne izmene

Recimo da ste nešto komitovali (bez push-a), pa shvatili da ste deo koda zaboravili. Poništite poslednji komit tako da on ostane lokalno na računaru, ali da ga nema na grani.

Koristite komandu git reset –soft HEAD~ .

Za povlačenje poslenja dva commita tu je i git reset –soft HEAD~2 .

Komit će biti poništen, a vi možete da nastavite da dorađujete izmene.

Brisanje poslednjeg komita koji nije pushovan tako da ne ostane traga ni lokalno

Koristite reset kombinovano sa –hard što znači da u potpunosti bacate kod. U suprotnom komit ostaje lokalno na računaru.

Naravno, sve ovo je u slučaju da kod nije push-ovan. U tom slučaju koristite savet broj 2.

Pogledaj još

Koji su nedostaci rada u IT industriji?

Vlada mišljenje da rad u informacionim tehnologijama predstavlja karijeru iz snova. Posao je zanimljiv, uzbudljiv, …