Github에 실수로 올린 API KEY 커밋 내역 삭제하기

임윤희·2024년 11월 12일

카카오 API 호출 테스트하다가 키를 숨기기도 전에 push를 해버렸다..
물론 GitGuardian이라는 곳에서 자동으로 감지하고 메일이 오지만 가입하기가 귀찮아서 직접 커밋 내역을 삭제해보기로 했다.

  1. 로컬 repo에서 API KEY 숨긴 후 commit
$ git add .
$ git commit -m "fix: rmeove api key"
  1. 최신 commit과 그 직전 commit(api key가 있는 commit)을 합친다. (총 2개의 커밋을 합침)
$ git rebase -i HEAD~2 # HEAD를 포함한 2개의 commit을 합치겠다
  1. 위 명령어를 실행하면 아래와 같이 vi editor가 열린다.
pick 111111 HEAD 바로 이전 Commit
pick 222222 HEAD Commit
  1. 키보드 c를 입력해서 아래와 같이 편집한 후 차례대로 esc , :wq를 입력하여 빠져나온다.
pick 111111 HEAD 바로 이전 Commit # 얘를 선택
squash 222222 HEAD Commit # 얘는 위에다 묶겠다
  1. 이후 다시 vi editor가 자동으로 열린다. 키보드 c를 입력해서 합칠 commit 메시지를 입력하고 차례대로 esc , :wq를 입력하여 빠져나온다.
# This is the 1st commit message:
HEAD 바로 이전 Commit 
# This is the commit message #2:
HEAD Commit
  1. remote repo에 push한다. (다른 사용자가 pull 받은 경우 충돌이 날 수 있기 때문에 안될 수도 있다. 이런 경우 --force 옵션으로 강제로 push할 수 있다.)
$ git push origin main --force

[참고]
https://hakurei.tistory.com/284

0개의 댓글