3

Наша команда случайно поместила некоторую личную информацию на Github в виде файла базы данных H2. Есть ли способ удалить файл чисто и полностью с сервера?

Простое выполнение git rm xxx.db , кажется, не является ответом, потому что можно легко git reset --hard для головы, содержащей пользовательские данные.

С другой стороны,

git reset --hard [the head before the db file was committed]

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

Что мы должны сделать, чтобы удалить этот файл базы данных?

2 ответа2

5

Прочитайте справку GitHub по удалению конфиденциальных данных.

  • Выполните следующее, чтобы удалить ссылку на файл во всем хранилище - это не приведет к удалению самого файла:

    git filter-branch --force --index-filter \
      'git rm --cached --ignore-unmatch <somefile>' \
      --prune-empty --tag-name-filter cat -- --all
    

    (Обязательно замените <somefile> путем к файлу, который вы хотите удалить.)

  • Добавьте файл в ваш .gitignore , затем git add и git commit для файла .gitignore .

  • Запустите git push origin master --force чтобы получить изменения вверх по течению.

Есть еще несколько шагов, включая очистку хранилища и запись в сам GitHub для удаления кэшированных данных.

0

Если вы не делаете одно из:

  • удалить репозиторий
  • связаться с GitHub

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

Смотрите также: https://stackoverflow.com/questions/4367977/how-to-remove-a-dangling-commit-from-github

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