4

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

Я снова сохранил файл без пароля и использовал git commit --amend для повторной фиксации файла. Пароль теперь ушел навсегда или его все еще можно найти где-нибудь в хранилище?

1 ответ1

7

Если вы не выполнили git push в удаленный репозиторий до внесения изменений, то фиксация в этом удаленном репозитории недоступна. Это не будет продвигаться в будущем.

Однако ваш локальный репозиторий все еще содержит старый коммит, который вы можете увидеть, запустив git reflog .

Фактическая (старая) фиксация может тогда быть показана с командой как:

git show HEAD@{1}

(при условии, что вы что-то зафиксировали, а затем изменили это без дальнейших переключений / переходов)

Чтобы избавиться от этого коммита локально, вам нужно взглянуть на git gc . Когда вы запустите его как есть, он удалит старые, висячие коммиты с определенным возрастом.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .