728x90
개요
Github에 Public 으로 오픈해놓고 있는 Node 토이 프로젝트 소스가 있는데
env파일 내부에 DB서버 정보가 있는데, Push 하기 전 gitignore 에 해당 파일 경로를 사전에 등록해 놓지 않아서...
그대로 Git History에 기록되고, 파일도 올라갔다.
해당 파일은 지울 수 있다 해도, Git History로 수정된 내용으로 추적이 가능해서 이것도 지워야할텐데..
이 경우 뿐만 아니라, 보안상 중요한 정보 노출이 우려가 되는 파일들이 이미 올라가있다면,
파일도 지우고 History 파일 추적해서 커밋으로 수정된 내용으로 정보가 유출되지 않게..
그 방법을 알아본다...
728x90
해결방안
아래의 명령어를 보면
git filter-branch -f --index-filter 'git rm --cached --ignore-unmatch 파일명' --prune-empty -- --all
위 명령어의 '파일명' 대신 내가 기록 삭제할 파일명을 입력하고, 로컬에서 입력하면...
Rewirte, Commit 등의 텍스트들이 터미널에 뜨면서 작업이 완료된다.
로컬에서 위 명령어를 입력한 후,
git push --force --all
위와 같이... 강제 Push하면 해당 파일의 Git History가 삭제된다.
728x90
'공유 소스 관리 > Git' 카테고리의 다른 글
[GIT] PULL, PUSH시 ID, PASSWORD 최초 한번만 쓰기 (0) | 2022.05.20 |
---|---|
[github] vscode git 연동 및 설정 (0) | 2022.04.01 |
[GitLab] GitLab(깃랩) 설치 히스토리 및 GitLab CE 파일사이즈 수정 방법 (0) | 2018.10.17 |
GitLab 설치 (2) | 2018.06.14 |
댓글