AWS 서버 보안 키가 들어있는 application.properties 를 github에 commit push 해버렸습니다
프로젝트 끝나기 전까지 repository 를 비공개로 해놔서 다행이지뭡니까
이거 유출되면 . . AWS 에서 전화오고 메일오고 강제 차단되고 과금폭탄 막을수도있담서요 ..
내 서버로 코인 채굴당할뻔했습니다
파일은 호다닥 삭제를 했으나 커밋 히스토리에 떡하니 노출되어있으니 이것들을 삭제해보겠습니다
※ 주의 !!
아래를 참고해서 커밋 내역을 삭제하기 전에,
커밋내역을 삭제 할 보안 파일을 전부 백업해두세요 !!!
저는 깃허브 폴더 + 커밋내역만 지우고 싶었는데 로컬에 있던 파일까지 지워졌더라구요 ..
푸쉬를 여러번했는데, 로컬에도 푸쉬를 해서 전부 삭제되었던것같아요 ㅠ ㅠ
복구하느라 꽤 애먹었습니다
혹시 이런일이 발생할 수도 있으니 꼭 백업을 해놓고 시작하세욧
인텔리제이로 PUSH / PULL 만 해봤고
git bash 는 ssh 접속해서 배포할때만 사용해봤기때문에
github 레포지토리 접근부터 좀 헤매긴했습니다.
1. 먼저 github 레포지토리와 연결되어있는
프로젝트 폴더를 로컬에서 찾아서 > 우클릭 > git bash here 을 누릅니다
2. filter-branch 를 이용하여 커밋내역을 삭제해줄건데요
git filter-branch -f --index-filter 'git rm --cached --ignore-unmatch {삭제할파일의 경로}' --prune-empty -- --all
위 명령어를 입력하시면 됩니다.
파일 경로는 인텔리제이에서 삭제할 파일 우클릭 > 경로/참조 복사 > 저장소 루트로부터의 경로 를 클릭하시면
자동으로 복사가 되는데 이걸 그대로 붙여넣기 해주시면됩니다
ERROR
you have uncommitted changes to your branch
you have unstaged changes
그리고 또 변경된 내용이 있다, 변경해야할 내용이 있다 등 이런 내용의 메세지가 뜨면
git bash 를 잠시 끄고 현재 프로젝트에서 모든 풀/푸쉬를 해서
커밋할 내용에 아무것도 안뜨게 깔끔하게 만들어주신 후 다시 진행해보세요.
저는 application.properties 포함해서 파일 두개 삭제했는데 20분 정도 걸린 것 같습니다
커밋 내용이 많을수록 시간이 오래걸리니 참고해주세요
3. 마지막으로 로컬브랜치를 원격 브랜치로 강제로 넣어줍니다
$ git push origin [브랜치 명] --force
이것까지 마치고 나서 레포지토리에 들어가봤는데요
커밋들이 3nn 개에서 2nn 으로 줄고
완전 초기 커밋메세지가 떠있어서 ... 아득했는데
폴더들어가 보니까 삭제한 파일 제외하고는 온전하더라구요 !
내잔디 .. !!!!!! 도 온전함 ㅎ
이제 레포지토리 public 으로 돌려놔도 되겠지요 ?
조금 무섭지만 .. ...
'Git' 카테고리의 다른 글
[Git] GitHub Actions 자동 배포 (0) | 2025.04.22 |
---|---|
[git] git 명령어 (0) | 2022.12.07 |
[Github] Error : unsafe repository owned by someone else (0) | 2022.11.28 |