Sobes.tech
Junior

Kako otkazati poslednju commit u sistemu kontrole verzija?

sobes.tech АИ

Одговор од АИ

Када користите Git, постоје различити начини:

1. Откажи последњи комит, задржавајући промене:

git reset --soft HEAD~1
# Отказује последњи комит, индексиране промене остају
# Радни директоријум се не мења

2. Откажи последњи комит, отказујући индексиране промене, али задржавајући радне:

git reset --mixed HEAD~1
# Отказује последњи комит и отказује индексирање промена
# Радни директоријум се не мења

3. Потпуно отказати последњи комит, укључујући промене:

git reset --hard HEAD~1
# Потпуно отказује последњи комит
# Индексиране промене и радни директоријум ће бити враћени у стање пре последњег комита
# Све незаписане промене у радном директоријуму ће бити изгубљене

4. Направити нови комит који отказује промене последњег:

git revert HEAD
# Креира нови комит који отказује промене последњег комита
# Историја се задржава, ово је безбедан начин када радите са јавним гранама

Избор зависи од жељеног резултата и да ли је грана објављена. --hard треба користити опрезно, јер може довести до губитка података. git revert је пожељнији када радите са гранама које користе други програмери.