Как отменить revert git
Возможна ситуация, в которой требуется отменить изменения, внесенные отдельным коммитом. Git revert создает новый коммит, накладывающий обратные изменения:
git revert config-modify-tag
— отменяем коммит, помеченный тегом.
git revert 12abacd
— отменяем коммит, используя его хэш.
Для использования команды необходимо, чтобы состояние проекта не отличалось от состояния, зафиксированного последним коммитом.
- Бесплатные сервиса размещения репозитариев Git
- Git workflow — Теория
- Git workflow — Краткое введение по основным инструкциям
- Git Wizardry
- Про Git на пальцах (для переходящих с SVN)
- Git на двоих
- Ежедневный Git
- Удачная модель ветвления для Git
- Синхронизация через GIT
- Git stash — работа с «карманом» в Git
- Как посмотреть настройки репозитария Git и как их изменить
- GIT: Инструкция-шпаргалка для начинающих
- Как перенести локальный GIT-репозитарий на сервер вместе со всей историей
- git reset — возврат к определенному коммиту, откат изменений, «жесткий» или «мягкий»
- git revert — отмена изменений, произведенных в прошлом отдельным коммитом
- Git — работа с ветками
- Git: Путь Github. Цикл разработки — Простое объяснение
- Машина времени в GIT
- Git Rebase: руководство по использованию
- Git: просмотр лога (истории) в консоли в виде дерева
- Git: понимание команды git merge
- Git: Опции слияния для команд merge и pull — определение стратегии слияния
- Git: как переключиться на нужный коммит
- Git: как смержить изменения из experimental в master
- Git: как посмотреть изменения, внесенные определенным коммитом
- Git: как посмотреть историю изменения одного файла
- Git: как вернуть один файл в состояние, которое было в определенном коммите
- git log — особенности данной команды при навигации по истории через git checkout
- Git: Как исправить HEAD detached from
- Git: что делать в состоянии detached head
- Работа в команде с использованием Git на примере проекта в среде Blender 3D
- Git: Как внести изменения в последний коммит
- Как в Git создать новую ветку в условиях, когда что-то уже было изменено после последнего коммита
- Как в Git залить новую локальную ветку в удаленный репозитарий
- Git: Как подключить новую ветку с удаленного сервера
- Git: Как узнать текущую ветку
- Git: В чем разница между Fetch и Pull?
- GIT: Как исправить ошибочный комментарий к коммиту или файлы в коммите
- Как настроить git на использование proxy-сервера
- Использование Git через HTTP-proxy
- Настройка работы Git через Proxy-сервер
- Git через proxy
- Использование git за прокси с аутентификацией
- Как в Git смержить изменения до конкретного коммита?
- Самый удобный визуальный клиент Git под основные платформы — SmartGit
- Основы системы управления версиями Git для новичков на примере SmartGit
- Как сделать подключение к репозитарию Git через Socks Proxy в условиях отсутствия DNS
- Как сделать подключение к репозитарию Git через проксирующее SSH соединение
- Как работать с незавершенными изменениями в коде? Как их коммитить в Git?
- Как в Git посмотреть незакоммиченные изменения в текстах исходников?
- Как поместить на GitHub уже существующий репозитарий
- Что происходит при откате изменений через git reset —soft
- Не бойся хардресета! Он твой друг и помощник. (Как пользоваться git reset)
- Как пометить определенный коммит тегом версии
- Как в Git удалить файлы из индекса, не удаляя их в рабочей директории
- Как настроить GIT, чтобы при конфликте слияния он прописывал в файл не только различия, но и «базу» этих различий
- Git: Разрешение конфликтов объединений
- Git: Извлечение старой версии файла
- Git stash: временный отказ от проделанной работы
- Git: проверка состояния репозитария, поддержание репозитария в рабочем состоянии
- Как в Git отменить локальные изменения и получить новое состояние из удаленного репозитария
- Как искать изменения в нужных файлах с помощью интерфейса gitk?
- Как выбрать одну из версий бинарного файла при возникновнии конфликта слияния?
- Как в Git посмотреть старый коммит, а потом вернуться обатно к самому последнему коммиту
- Получение хеша последнего коммита и его даты в Git (для версионирования)
- Памятка по неочевидным деталям использования Git
- Как синхронизировать форк на Github с основным репозитарием через веб-интерфейс
- Как пользоваться GitHUb: форки, ветки, запросы на добавление кода
- Как отменить (сбросить) еще не закоммиченные изменения в Git
- Первоначальная настройка имени пользователя и Email в Git-проекте
- Можно ли принимать изменения через git pull если не закоммичены изменения рабочей директории
- Как посмотреть какие команды генерирует git gui
- Как удалить файл в Git-репозитарии с изменением истории
Как отменить откат изменений (восстановить потерянный коммит)?
Вопрос: Есть ли способ в git отменить откат, т.е восстановить состояние, не закоммиченное в git`е ? Около месяца назад я создал коммит и сегодня я создал коммит( как я думал ), но коммит, как оказалось позже, не создался( моя вина ). Затем, спустя час, я решил произвести откат к последнему коммиту, но так как сегодня во время его создания произошла ошибка, я откатился к коммиту месячной давности.
Отслеживать
34k 25 25 золотых знаков 130 130 серебряных знаков 222 222 бронзовых знака
задан 28 июн 2013 в 17:23
13.6k 13 13 золотых знаков 62 62 серебряных знака 122 122 бронзовых знака
Если данные были закоммичены, то к ним можно восстановиться. Если данные не были закоммичены, то скорее всего все утеряно. Да, коммитить раз в месяц — это странно. git приветствует частые коммиты. Если перестарались и сделали много мелких коммитов — их можно объединить.
28 июн 2013 в 17:43
Ясно, что ж, спасибо. Коммит был сделан спустя месяц потому, что месяц к проекту никто не прикасался, а спустя месяц работа возобновилась. Выходит, GIT может превращаться из удобного инструмента в опасный.
28 июн 2013 в 17:49
Если данные были закоммичены, то пусть хоть десять откатов назад сделаете, восстановиться можно. btw, изучите возможности «кармана» — git stash спрятать в карман, git stash pop — достать. Карман стековый (можно много запихать). Очень полезный инструмент, если планируете использовать «страшные неизвестные операции».
28 июн 2013 в 18:01
если файлы добавлялись в индекс (staging area), то для них будут созданы blob объекты в репозитории, и соответственно, можно вытащить содержимое в незаисимости был сделан коммит или нет
28 июн 2013 в 20:48
1 ответ 1
Сортировка: Сброс на вариант по умолчанию
Все что попадает в репозиторий не удаляется сразу, т.е. если даже ты удалил ветку, изменил коммит и т.д. есть возможность вернуться к предыдущей версии. Если же изменения были только в рабочей копии, а потом они «потерялись», то тут уж ничем не поможешь :(.
Ты можешь посмотреть в логе git reflog историю изменения HEAD ,еще можно перечислить все недостижимые объекты git fsck —unreachable . Может это поможет.
Если ты добавлял файлы в индекс, но не закомитил их то по выводу git fsck —unreachable можно будет найти эти файлы. Содержимое файлов хранится в blob объектах. В объектах типа tree хранятся коллекции blob объектов. Увы не знаю создается ли tree объект при добавлении файлов в индекс, но если создается то все что нужно это найти недостижимый tree объект с нужными файлами.
Для отображения содержимого объекта: git cat-file -p
Как отменить первый revert?
help me
сделал первый коммит решил отменить его и сделал git revert HEAD.
и все удалилось, как отменить revert и вернуть исходное состояние?
- Вопрос задан более трёх лет назад
- 7283 просмотра
Комментировать
Решения вопроса 1

Олег @Austin_Powers
Web developer (Symfony, Go, Vue.js)
Используйте git reflog для восстановления состояния.
Ответ написан более трёх лет назад
Комментировать
Нравится 2 Комментировать
Ответы на вопрос 1

C++ developer
revert в отличие от reset не удаляет коммит, а добавляет новый коммит, который отменяет указанный.
https://githowto.com/ru/undoing_committed_changes
Поэтому у вас есть 2 варианта:
Отменить отменяющий комит с помощью revert
Удалить последний коммит с помощью reset
evtuhovich.ru/blog/2009/04/03/git-reset
Ответ написан более трёх лет назад
Комментировать
Нравится Комментировать
#3 — Отмена действий. Возвращение к старым версиям

Git позволяет просматривать хронологию изменений в вашем проекте. В ходе урока вы познакомитесь с отменой действий (коммитов) в Git, а также научитесь удалять коммиты и возвращать проект «назад во времени».
Видеоурок
В Git есть замечательная возможность «возвращения во времени»:
- вы можете просмотреть как выглядел ваш проект на стадии определенного коммита;
- вы можете отменить определенный коммит;
- вы можете выполнить удаление коммита и возвращение к проекту на стадии определенного коммита.
Просмотр проекта
Чтобы просмотреть проект на стадии какого-либо коммита вам необходимо прописать команду git checkout id , где id это идентификатор коммита, который хотите просмотреть.
Чтобы узнать id изначально пропишите команду git log —oneline . Тогда вы получите список всех коммитов что были сделаны в вашем проекте, а также их идентификаторы.

Чтобы просмотреть какой-либо коммит выполните комманду: git checkout 102e2f1 . Здесь вы просмотрите проект на стадии первого коммита.
Отмена коммита
Для отмены коммита используйте команду git revert id , где id это идентификатор коммита, который хотите просмотреть. После выполнения команды вы отмените определенный коммит.
Удаление коммита
Для удаления коммита используйте команду git reset id —hard , где id это идентификатор коммита, который хотите просмотреть. После выполнения команды вы удалите определенный коммит и все данные будут возвращены к проекту что был на стадии коммита.
Задание к уроку
Необходимо оформить подписку на проект, чтобы получить доступ ко всем домашним заданиям
Большое задание по курсу
Вам необходимо оформить подписку на сайте, чтобы иметь доступ ко всем большим заданиям. В задание входит методика решения, а также готовый проект с ответом к заданию.
PS: подобные задания доступны при подписке от 1 месяца