LINUX.ORG.RU

Git reset --hard. Полный финиш или есть шансы выжить.


0

1

Сделал git reset --hard. И потерял всё, что я делал. Вопрос, есть ли шансы вытащить те данные которые были удалены? Сначала сделал коммит, а потом решил его откатить, до предыдущего, но не обратил внимание на то, что хард всё стирает к едрени-фени. Неужели он никак их не сохранил тот коммит?



Последнее исправление: main51 (всего исправлений: 1)

Сделал git reset --hard. И потерял всё, что я делал. Вопрос, есть ли шансы вытащить те данные которые были удалены?

Есть конечно же. Лет через 50 ты сможешь пересадить свой мозг в бионическое тело, долждаться, когда через 300 лет изобретут машину времени, вернуться во вчерашний день, записать изменения перез git --reset hard на флешку, передать ее тебе сегодняшнему, оставив где-нибудь в ящике стола (как мы помним, прямая передача не желательна в связи с нарушением пространственно-временного континуума) и вернуться домой.

Проверь ящик стола.

BaBL ★★★★★
()
Ответ на: комментарий от Deleted

Вы уверены?)). А может лучше чекаут?.Что-то я очкую теперь использовать ресет, да ещё и хардовский)

main51
() автор топика
Ответ на: комментарий от main51

Вы уверены?)). А может лучше чекаут?.Что-то я очкую теперь использовать ресет, да ещё и хардовский)


Да блин, проверь ящик стола! Есть шанс что там твоя последняя ревизия и даже с незакомиченными данными!

BaBL ★★★★★
()
Ответ на: комментарий от main51

reset просто перемещает HEAD на нужное место. Если ты в прошлый раз потерял нужный HEAD из-за ресета, то и обратно вернуть его можно ресетом.

А вообще, лучше сделай бэкап. Просто на всякий случай =).

Deleted
()
Ответ на: комментарий от Deleted

Ура, да здравствует волшебство гита = ). Я знал, что где-то он их всё-таки сохранил. Всем спасибо.

main51
() автор топика

а потом решил его откатить, до предыдущего, но не обратил внимание на то, что хард всё стирает к едрени-фени.

Для этого git checkout есть.

Dudraug ★★★★★
()
Ответ на: комментарий от main51

Ура, да здравствует волшебство гита = ). Я знал, что где-то он их всё-таки сохранил.

Из гита можно вытащить все изменения, которые в него попадали, пока их автоматически не почистит встроенный сборщик мусора (смотри git gc --help). И если ./.git не повреждён.

Deleted
()
Ответ на: комментарий от main51

Что-то я очкую теперь использовать ресет, да ещё и хардовский)

надо просто понимать чем ты пользуешься и читать маны. гит ресет не предназначен для получения исходников определенной версии.

Dudraug ★★★★★
()

В гите просто так ничего не исчезает. git add в любом случае сделает BLOB в объектной базе гита.

git --reset как раз на этот случай сделает ORIG_HEAD. Но незакомиченный индекс, к сложалению, погибнет. Или все-таки и *это* в гите настраивается?

Т.е. если тебе нужно восстановить данные в пределах последнего коммита, то смело делай git reset --hard ORIG_HEAD. Если нужно восстанавливать незакоммиченные данные, то git show тебе в руки.

Macil ★★★★★
()

Вот поэтому проект должен быть выложен на github а не локально под одеялом разрабатываться.

slovazap ★★★★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.