Потерял мой коммит в GIT. Можете ли вы случайно удалить коммиты? - PullRequest
7 голосов
/ 23 марта 2010

Я использую git gui и не вижу свою ветку.

Я знаю, что сегодня кое-что проверил.

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

1 Ответ

24 голосов
/ 23 марта 2010

Отвечая на ваш вопрос, в большинстве случаев очень трудно потерять недавний коммит случайно. Обычно объекты (включая коммиты) удаляются только после git gc, если на них больше не ссылается ни одна ветка и они очень старые (по умолчанию 90RC IIRC).

Обычно вы можете найти коммит в вашем журнале. Попробуйте любой из:

git log -g

или

git reflog

Если вы видите его, он, вероятно, имеет ссылку в виде HEAD@{n}, где n - число, если раз ваш HEAD изменился с момента потери коммита.

Вы можете создать для него ветку.

git branch foundit HEAD@{n}  # replace n with the correct number

Тогда вы можете решить, нужно ли вам объединить его с другой веткой или перебазировать его или просто оставить ветку на потом.

...