git совершил, но не нажал - не может найти файлы в ветке, где они? - PullRequest
0 голосов
/ 14 ноября 2018

Я думал, что был на последнем коммите моей ветки. Я переместил свой код в локальную папку, добавил и зафиксировал их.

Когда я пытался выдвинуть новые файлы, я получил следующую ошибку:

fatal: Вы не находитесь на ветке.

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

Из-за того, что я не понимал, что я делаю, я случайно вернулся к первоначальной ветке. Мои файлы исчезли.

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

Я не очень разбираюсь в git, поэтому вот все, что я делаю:

git clone -b имя_б ветви git@gitserver.url.com: code.git

, а затем добавляйте, фиксируйте и отправляйте изменения.

В этом случае я извлек конкретный идентификатор фиксации, а также добавил и зафиксировал, пока я его получал. Но этот коммит не отображается.

1 Ответ

0 голосов
/ 14 ноября 2018

Похоже, что вы работали в отключенном состоянии HEAD, что объясняет сообщение об ошибке отсутствия на какой-либо ветви. Сделанные вами коммиты должны быть видны в журнале, поэтому сначала попробуйте:

git reflog

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

git checkout S8dk2K8W        # replace S8dk2K8W with actual commit hash
git checkout -b your_branch
git push origin your_branch
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...