Страницы

Поиск по вопросам

суббота, 21 декабря 2019 г.

Как откатить коммит? [дубликат]

#git


        
             
                
                    
                        
                            This question already has an answer here:
                            
                        
                    
                
                        
                            Как вернуться (откатиться) к более раннему коммиту?
                                
                                    (1 ответ)
                                
                        
                                Закрыт 2 года назад.
            
                    
Значит такая ситуация, мне нужно было вернуться назад на несколько коммтов (git checkout
v2.0 не создавая новую ветку), чтоб проверить что то в прошлой версии, потом я забыл
про то, что откатился и сделал несколько изменений и закоммитил(git commit -m 'commit'),
теперь думаю как вырезать этот последний коммит?
    


Ответы

Ответ 1



git revert [название коммита] - откатит изменения в виде следующего коммита. Т.е., создан коммит "Mistake", при использовании revert будет создан еще один коммит "Revert mistake".

Ответ 2



Если вам ещё нужны изменения, выполненные в самой последней фиксации*, то восстановить её можно будет после переключения обратно на нужную ветку. Пока что нужно запомнить хэш этой фиксации командой git show --format=%H HEAD. Обозначим её вывод как $HASH. Затем просто переключитесь обратно, к предыдущей ветке с помощью git chechout -. Если вы попали не туда, куда требовалось, укажите вашу ветку в явном виде. Кроме того, вы можете увидеть подсказку от git с хэшем фиксации, откуда вы только что ушли, с предложением создать новую ветку, на неё указывающую. Затем примените ту самую фиксацию поверх нового состояния командой git cherry-pick $HASH. В результате этого, ваши изменения должны оказаться в нужной вам ветке. Это же описание, но в виде сценария оболочки. HASH=$(git show --format=%H HEAD) git checkout - git cherry-pick $HASH * перевод слова commit в контексте ИТ

Комментариев нет:

Отправить комментарий