Как синхронизироваться с предыдущим списком изменений в GitHub?

Я пришел из мира Perforce, поэтому мой язык здесь будет Perforce-говорящим, но я пытаюсь использовать GitHUB, и случилось что-то ужасное. Я использовал команды:

git reset --hard
(and)
git clean -f -x -d
(and then)
git fetch

чтобы попытаться вернуть код, который я только что написал.

Вместо того, чтобы восстановить мой код, все, что произошло со мной, это то, что все мои файлы, которые были изменены, были удалены с сервера И с моего локального компьютера.
К сожалению, большая часть моего кода была в одном исходном файле, и поскольку я изменил этот файл исчез как с сервера, так и с моей локальной машины.

Может ли кто-нибудь дать мне команду GitHub для синхронизации с более старой версией кода? Боюсь, это единственный способ вернуть исходный код...!

Кто-нибудь знает, что я сделал неправильно здесь?

Спасибо - Саймон


person SIMON    schedule 09.01.2011    source источник
comment
git fetch не должен был публиковать/изменять что-либо на GitHub, но даже если бы это было так, вы все равно можете запросить у GitHub reflog (sitaramc.github.com/concepts/reflog.html) удаленного репозитория GitHub: потерянный коммит должен быть там, готовый к восстановлению. Проверьте также журнал ссылок на вашей локальной стороне: gist.github.com/283992.   -  person VonC    schedule 09.01.2011


Ответы (1)


Ничего не должно было произойти на сервере с перечисленными вами командами. Даже если вы внесли нежелательное изменение (например, удаление файла), вся история должна была сохраниться на сервере.

Вы пробовали снова просто клонировать репозиторий? Это может быть самый простой способ убедиться, что ваш локальный клон git находится в нормальном состоянии. После этого просмотрите журнал в поисках файла.

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

person Bob Bell    schedule 09.01.2011