O que devo fazer se acidentalmente colocar dados confidenciais no Github?

3

Nossa equipe acidentalmente empurrou algumas informações pessoais para o Github na forma de um arquivo de banco de dados H2. Existe alguma maneira de remover um arquivo de forma limpa e completa do servidor?

O simples fato de fazer git rm xxx.db não parece ser a resposta, porque é possível usar facilmente git reset --hard na cabeça que contém os dados do usuário.

Por outro lado,

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

também não é nossa preferência porque houve mais de 10 commits desde que o banco de dados foi confirmado.

O que devemos fazer para remover esse arquivo de banco de dados?

    
por Haochi Kiang 30.09.2013 / 06:59

2 respostas

5

Leia a ajuda do GitHub em remoção de dados confidenciais .

  • Execute o seguinte para excluir a referência ao arquivo em todo o repositório - isso não excluirá o próprio arquivo:

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

    (Certifique-se de substituir <somefile> pelo caminho do arquivo que você deseja remover).

  • Adicione o arquivo ao arquivo .gitignore e, em seguida, git add e git commit o .gitignore .

  • Execute git push origin master --force para obter as alterações para o desenvolvedor.

Existem mais alguns passos, incluindo a limpeza do repositório e escrevendo para o próprio GitHub para que os dados em cache sejam removidos.

    
por 30.09.2013 / 07:50
0

A menos que você faça o seguinte:

  • elimine o repositório
  • entre em contato com o GitHub
Os commits pendentes ainda estão visíveis. Então, se não são apenas as credenciais que você pode alterar, faça algumas das opções acima.

Veja também: link

    
por 29.09.2015 / 11:45

Tags