실수로 민감한 데이터를 Github에 올리면 어떻게해야합니까?


3

우리 팀은 실수로 일부 개인 정보를 H2 데이터베이스 파일 형식으로 Github에 푸시했습니다. 서버에서 파일을 깨끗하고 완전하게 제거 할 수있는 방법이 있습니까?

사용자 데이터를 포함하는 헤드에 git rm xxx.db쉽게 git reset --hard접근 할 수 있기 때문에 단순히 수행하는 것이 답이 아닌 것 같습니다 .

반면에

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

데이터베이스가 커밋 된 이후 10 개 이상의 커밋이 있었기 때문에 우리가 선호하는 것은 아닙니다.

해당 데이터베이스 파일을 제거하려면 어떻게해야합니까?

답변:


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 자체쓰기를 포함하여 몇 가지 단계가 더 있습니다 .


당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.