Допустим, я сделал 5 коммитов в своем git-проекте.
На коммите 4 я случайно добавил свой файл credentials.json и подтолкнул к репо.
На коммите 5 я удалил файл, сделал коммит и отправил это изменение в репо.
В настоящее время файл не отображается в последнем коммите. Но если пользователь проверяет историю коммитов, он может перейти к коммиту 4 и проверить содержимое моего файла.
Как я могу навсегда удалить файл из истории коммитов, чтобы он выглядел так, как будто файл никогда не был добавлен вrepo.
Примечание: -
Я уже попробовал следующую команду: -
git filter-branch --force --index-filter \
"git rm --cached --ignore-unmatch Credentials.json" \
--prune-empty --tag-name-filter cat -- --all
Не выдает никакой ошибки, но файл не удаляется изИстория.
На самом деле файл находится в папке / src. Но странно то, что когда я даю следующую команду (включая полный путь): -
git filter-branch --force --index-filter "git rm --cached --ignore-unmatch ~full-path/src/Credentials.json" --prune-empty --tag-name-filter cat -- --all
я получаю сообщение об ошибке: - ~ полный путь / src / Credentials.json находится вне репозитория.
Это потому, что я уже удалил свой файл в коммите 5? Что я могу сделать в этом сценарии?
Является ли создание нового репо с нуля единственным вариантом?