Что мне делать, если я случайно поместил конфиденциальные данные на Github?

3

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

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

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

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

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

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

Haochi Kiang
источник

Ответы:

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 для того, чтобы удалить кэшированные данные.

slhck
источник
0

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

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

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

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

Ciro Santilli 新疆改造中心 六四事件 法轮功
источник