inblog logo
|
parangdajavous
    Trouble Shooting

    18. [Project] 민감정보 저장한 .env 파일이 Git Repository에 Push 됐을 때

    김미숙's avatar
    김미숙
    Jul 22, 2025
    18. [Project] 민감정보 저장한 .env 파일이 Git Repository에 Push 됐을 때
    Contents
    문제해결.env 추가 후 명령어(git add .) 실행 전 할 일✅ 최종 체크리스트

    문제

    .env 파일에 Key 등 민감정보를 넣었는데 파일 만들면서 Git에 추가하기를 체크하고 commit 하기 전 지우지 않아서 그대로 push 됐다
    공개되있는 Repository라 그대로 둘 수 없어서 BFG Repo-Cleaner를 사용해서 커밋을 완전히 제거해야했다
    브랜치 보호가 되어 있는 상태라 프로젝트 팀장에게 임시로 권한을 요청한 후 실행했다
    📌 BFG Repo-Cleaner란
    Git 기록에서 민감한 파일이나 커밋을 완전히 제거할 수 있게 해주는 고성능 도구
    Git 히스토리 안에 들어있는
    • 비밀번호
    • 토큰(API Key)
    • 서비스 키(JSON)
    • 대용량 파일 등
      • 👉 이런 것들을 빠르게 삭제할 수 있음
     

    해결

    .env 파일이 Git 기록에 남아 있는 상태이므로, BFG 툴을 사용해 모든 기록에서 완전히 제거

    처리 절차 (Windows 기준)

    # 1. 현재 작업 디렉토리로 이동 cd C:/workspace/pro_lec_2 # 2. 현재 Git 저장소를 --mirror 옵션으로 복제 git clone --mirror ./data data-cleaned.git # 3. BFG로 .env 파일 삭제 java -jar C:/Users/yourname/Downloads/bfg-1.14.0.jar --delete-files .env data-cleaned.git # 4. 정리된 저장소 디렉토리로 이동 cd data-cleaned.git # 5. Git GC 실행으로 기록 정리 git reflog expire --expire=now --all git gc --prune=now --aggressive # 6. 기존 원격 origin 제거 및 다시 연결 git remote remove origin git remote add origin https://github.com/ballkkaye/data.git # 7. 정리된 히스토리를 강제로 푸시 (모든 브랜치, 태그) git push --force origin --all git push --force origin --tags
    ⚠️ 위 작업은 히스토리를 덮어쓰므로 팀과 충분한 사전 공유 후 진행해야함
     

    .env 추가 후 명령어(git add .) 실행 전 할 일

    ⛔️ 상황

    .env 파일을 만들었는데, 깃에서 추적되고 있음
    (예: 실수로 "Git에 추가" 체크하고 생성함)

    처리 방법

    # 1. Git 추적 제거 git rm --cached .env # 2. .gitignore에 무시 대상 추가 (이미 있으면 생략 가능) echo ".env" >> .gitignore # 3. 변경 사항 커밋 git add . git commit -m "Remove .env from tracking and add to .gitignore" # 4. 원격 저장소에 반영 git push origin <branch-name>
     

    ✅ 최종 체크리스트

    .env는 .gitignore에 등록됨
    .env는 Git 추적 대상 아님
    민감 정보 포함 커밋은 Git 히스토리에서 제거됨 (필요 시 BFG 수행)
    실제 환경에 사용될 키는 .env 또는 환경변수로 주입됨
     
    Share article
    Contents
    문제해결.env 추가 후 명령어(git add .) 실행 전 할 일✅ 최종 체크리스트

    parangdajavous

    RSS·Powered by Inblog