# Povrnitev commit-a Povrnitev commit-a pomeni, da ustvarimo nov commit, ki odstrani vse spremembe, ki smo jih napravili v prejšnjem commit-u. Kot da bi naredili ```CTRL + Z ``` v Git-u. Povrnitev v Git-u je sorazmerno enostavna, ker je vsak commit, ki ga pošljemo v oddaljen repository, povezan s svojim unikatnim alfanumeričnim SHA (Secure Hash Algorithm) ključem. To pomeni da lahko povrnemu vsak commit, če le imamo njegov SHA. V vsakem primeru pa moramo biti previdni pri povračanju, ker si lahko poškodujemo repository. Da lahko izberemo SHA točno določenega commit-a, ki ga hočemo odstraniti, nam zelo prav pride seznam vseh commit-ov, ki smo jih napravili. Ta seznam dobimo s tem ukazom: ```git log --oneline ``` Ukaz ```git log``` bi nam prav tako vrnil SHA, vendar v daljši obliki izpisa. Uporaba zastavice ```--oneline ``` Git-u pove da hočemo pregleden izpis v eni vrstici. Prvih 7 znakov v vsaki vrstici izpisa se imenuje skrajšani hash commit-a. Za primer, to je izpis ```git log --oneline ``` za ta repository: ``` 389004d added spacing in title c1b9fc1 Merge branch 'master' into tutorials 77eaafd added tutorial for reverting a commit ``` To nam torej pokaže, da lahko z ```git log --oneline```, pridobimo seznam vseh commit-ov narejenih v repository-ju s prvimi 7 znaki njihovih SHA. No, sedaj lahko poskusimo zbrisati commit "added spacing in title" z naslednjimi koraki: * Kopiraj SHA commit-a, v tem primeru ```389004d``` * Potem uporabi ukaz ```git revert 389004d``` Sedaj se zažene naš urejevalnik besedila in nas pozove naj uredimo komentar commit-a. Lahko se odločiš, da pustiš privzeto sporočilo Git-a, ki se začne z besedo `Revert`, ali pa spremeniš komentar po svojih željah. * Nato shranimo in zapremo urejevalnik besedila. * Vrnemo se v ukazno vrstico. * Uporabimo ukaz ```git push origin ``` da pošljemo spremembe na GitHub. In to je to, spremembe bodo odstranjene. V tem primeru bi se moj repository povrnil na stanje v commit-u ```c1b9fc1```.