WindsomeProject - Git history에서 민감한 정보 담긴 파일 지우기

박민수·2024년 3월 22일
0

WindsomeProject

목록 보기
19/32
post-thumbnail

여태 민감한 정보가 담긴 application.yml 설정 파일을 포함시킨채로 git에 commit을 했다.
문제의 파일을 .gitignore에 추가하고 cash를 날려주니 최신 커밋에서는 더 이상 문제의 파일이 보이지 않는다.
그러나 문제는 과거 커밋들에는 여전히 해당 파일이 존재한다는 것이다.
누구나 history를 통해 문제의 파일에 접근이 가능한 상태이다.

다행히 git에는 모든 커밋에서 특정 파일을 지울 수 있는 git filter-branch 명령어가 존재했다.

git filter-branch --tree-filter 'rm -f 파일경로/파일이름' HEAD

이때 파일의 경로를 정확하게 지정해 줘야 정상적으로 작동한다.
ex) src/main/resources/application.yml
ex) *.yml (모든 폴더 내의 yml 파일 삭제)

만약, 오류가 발생한다면 현재 작업중인 디렉토리의 경로가 프로젝트의 루트 디렉토리가 맞는지 확인한다.
파일의 경로는 프로젝트의 루트 디렉토리 기준으로 상대 경로로 지정되어야 하기 때문이다.

profile
안녕하세요 백엔드 개발자입니다.

0개의 댓글

관련 채용 정보