Git에서 민감한 데이터 제거

이 가이드는 Git 저장소에서 민감한 텍스트를 제거하는 방법을 설명합니다. BFG Repo-Cleaner , GitHub에서 endorsed 및 Java가 필요합니다.
  • 모든 끌어오기 요청을 닫거나 병합합니다.
  • 모든 개발자의 로컬 분기가 깨끗한지 확인합니다.
  • 저장소를 복제하여 비상 백업을 만듭니다.
  • BFG Repo-Cleaner에서 bfg JAR 파일을 다운로드합니다(예: bfg-1.14.0.jar ).
  • 임시 작업 폴더로 이동합니다.
  • 저장소의 기본 미러를 복제합니다. 예: git clone --mirror [email protected]:SomeUser/myrepo.git
  • 교체할 정규식으로 이름이 sensitive.txt인 텍스트 파일을 만듭니다. 예를 들어, 이 텍스트 파일은 password123의 모든 항목을 ***REMOVED***로, abc123의 모든 항목을 samplePassword로 바꿉니다.

  •   password123
      abc123==>samplePassword
    


  • bfg-1.14.0.jar 파일을 복사합니다.
  • 다음 명령을 실행하여 중요한 텍스트를 교체하십시오. java -jar bfg-1.14.0.jar --no-blob-protection --replace-text sensitive.txt myrepo.git
  • 미러 저장소로 이동: cd myrepo.git
  • 실행하다 git reflog expire --expire=now --all && git gc --prune=now --aggressive
  • 원격 브랜치로 푸시: git push . 참고: 이것이 실패하면 원격 Git 서버에서 분기 보호를 해제해야 할 수 있습니다.
  • 재작성된 Git 기록을 가져오려면 모든 개발자에게 저장소를 다시 복제하도록 요청하십시오.
  • 저장소가 올바른지 확인한 다음 로컬 백업 저장소와 임시 작업 폴더를 삭제하십시오.

  • 이제 모든 민감한 데이터가 사라졌습니다.

    읽어 주셔서 감사합니다!

    프로그래밍 팁, 소프트웨어 엔지니어링 콘텐츠 및 경력 조언을 보려면 Twitter에서 저를 팔로우하세요. 😊

    이 블로그 게시물의 콘텐츠는 Git , GitHub , GitLabBFG Repo-Cleaner 에서 공개적으로 사용할 수 있습니다.

    좋은 웹페이지 즐겨찾기