실수로 .env 파일을 푸시해버렸다.
gitignore를 확인하고 .env.local로 네이밍 했어야했는데, .env로 네이밍했고 그대로 key값이 노출되어버렸다.
그냥 새로 레파지토리를 만들면 되지않을까 하는 생각을 했지만 해당 프로젝트는 개인이 하는 것이 아닌 팀으로 하는 프로젝트이고, 쌓아온 히스토리 파악이 중요하므로 다른 방법을 찾아보기로 했다.
커밋히스토리들을 지키면서 .env 파일과 관련 히스토리까지 삭제하는 법을 찾았다.
git filter-branch -f --index-filter 'git rm --cached --ignore-unmatch 삭제할 파일명' --prune-empty -- --all
생각보다 꽤 긴 시간이 걸린다. 끝날 때까지 차분히 기다리자.
git push --force --all
필터링이 완료되면 전체를 force 푸시해주면 끝!
유의할 점은 이때 문제가 생긴 브랜치에서 필터링을 해주고 다시 푸시해줘야하며, 이미 main branch와 머지가 되었다면 머지를 되돌리고 해당 작업을 진행, 그리고 강제 푸시가 가능하게 main 권한을 열어주어야한다.
'What I Learnd > TIL' 카테고리의 다른 글
TIL - map 함수는 배열에서만 사용 가능하다! (0) | 2023.08.25 |
---|---|
TIL - Next.js Image Component (0) | 2023.08.24 |
TIL - supabase 이메일 로그인 (0) | 2023.08.22 |
TIL - Next.js 설치 및 기능 알아보기 1 (0) | 2023.08.17 |
TIL - supabase TypeScript 외래키(foreign key)로 연결된 테이블 값 불러오기 (0) | 2023.08.11 |