Такие дела - была ветка 1 и ветка 2, первая основная. Был понедельник. Во вторник - забыл переключится в основную и сделал кучу всего во второй, вместо того, чтобы просто отменить коммит зачем-то переключился на 1 ветку и объединился со 2... Ну и в довершения маразма, желая разделить ветки обратно выполнил
Ну это понятно, просто ключ --хард окончательно и бесповоротно меняет дерево репозитория - ничего востановить уже будет нельзя. Уже переписал снова, но всё равно обидно ))
die sheep! die to reverse the system
you accept (reject, respect);
next step,
kill next sacrifice, each sacrifice
Ну это понятно, просто ключ --хард окончательно и бесповоротно меняет дерево репозитория - ничего востановить уже будет нельзя. Уже переписал снова, но всё равно обидно ))
Дерево меняется, а вот гитовские объекты остаются:
$ git show | head -1
commit ebb35eb85ba2f40530814b4e88efdd30665353f4
$ git reset --hard HEAD^
HEAD is now at 1a2daf4 Remove OK.
$ git show | head -1
commit 1a2daf45224ab69c21b31918f4d63673d6554caf
$ git reset --hard HEAD@{1}
HEAD is now at ebb35eb Change k.
$ git show | head -1
commit ebb35eb85ba2f40530814b4e88efdd30665353f4
Ну вот, а я уже удалил тот репозиторий, так что попробовать не могу. В .git есть такие файлы .pack к которым можно применить git unpack-objects, только это не помогло, но наверное именно в них архивируется удалённый материал. Вообще в одной статье видел утверждение, что reset с ключом --hard предназначен для удаления коммита так, чтобы его нельзя было востановить (конечно, прочитал это уже после той своей ошибки :) выходит это не так?
die sheep! die to reverse the system
you accept (reject, respect);
next step,
kill next sacrifice, each sacrifice