Ima bar 3-4 različita načina da se postigne to što želiš, ali svaki od načina ima neku svoju specifičnost, tako da uvek zavisi od onoga šta tačno želiš da postigneš.
Zbog toga ti predlažem da ipak provežbaš to koristeći link iznad, pre nego dođeš do problema.
Recimo git reset --hard HEAD~1 će da obriše poslednji commit sa tekuće grane, kao i da odbaci sve promene iz tog commit-a.
Zatim, git reset --soft HEAD~2 će da obriše poslednja dva komita sa grane, ali će promene iz ta dva commit-a da ostavi lokalno, tako da možeš da vidiš diff i da ih opet commit-uješ. Ili možeš da uradiš git reset --hard i tako odbaciš sve te promene sa working tree-a.
Onda možeš da iskoristiš git revert da revert-uješ bilo koji commit, ali će ta komanda da napravi novi commit sa promenama takvim da poništavaju promene iz commit-a koji se revert-uje.
Na kraju, za ovaj tvoj specifičan slučaj, uvek možeš da skočiš nazad na main, obrišeš problematičnu granu i zatim napraviš novu istoimenu od main grane.
A inače, "git branch dev" će samo da napravi dev granu od tekuće grane (koja god ona bila), ali moraš zatim da uradiš git checkout da se prebaciš na tu granu.
|