Я следовал инструкциям GitHub по удалению конфиденциальных файлов из репозитория git , потому что я хотел удалить некоторые двоичные файлы, которые не должны были регистрироваться.
Мой первый вызов git filter-branch
Сбой команды:
Невозможно переписать ветвь (и) с грязным рабочим каталогом.
, потому что у меня были локальные изменения.Итак, я спрятал эти изменения с помощью git stash
и повторно запустил команду filter-branch.
Затем я выполнил эти команды в соответствии с инструкциями GitHub:
rm -rf .git/refs/original
git reflog expire --expire=now --all
git gc --prune=now
git gc --aggressive --prune=now
Удалениедвоичные файлы, кажется, работали безупречно.Однако, когда я сейчас набираю git stash list
, добавленная мной запись о старом мастере не отображается.
Все, что у меня есть, это вывод из git stash
до того, как я выполнил команду filter-branch theвторой раз:
Saved working directory and index state WIP on master: a19db18 LOG_MESSAGE
HEAD is now at a19db18 LOG_MESSAGE
Кроме того, a19db18332b19ea41be888eccfc07e6680d8d6dd
был одним из переписанных коммитов.
Есть ли способ получить спрятанные изменения?