Published 2022. 6. 29. 00:09

최근 깃허브에 공부한 내용 올리고 하다보니 API Key를 올려버리는 어처구니 없는 실수를 저질렀다

사실 전혀 API Key 자체를 인지하지 못했는데 G메일로 깃가디언?이

GitGuardian has detected the following Google API Key exposed within your GitHub account.

라고 알려줬다..

이게 뭔 상황인가 하고 검색해보니 자칫하다가는 계정이 정지되거나 API 키를 재발급 받아야 할 수도 있다고 했다.

심지어 이 key는 내 키가 아니라 수업 때 사용했던 강사님 키라 큰 민폐가 될 뻔한 상황이었던...

그래서 빠르게 파일을 수정하고 다시 push를 해서 괜찮을 줄 알았는데... 알고보니 history에는 그대로 남아있었다!!ㅠㅠ

이 히스토리를 어떻게 지워야 하나 모르겠어서 검색을 한 끝에 github에 올라갔던 그 파일 그 시점 전으로 되돌리기를 해서 겨우 수습을 할 수 있었다


  1. 돌아가고자 하는 지점 찾기 git log
  2. 돌아가고자 하는 시점의 commit 확인
  3. 리셋하기 git reset --hard : 돌아가고자 하는 시점의 commit >> HEAD is now at .. 이 나오면 성공
  4. git push -f origin mater 로 저장
  • git reset
    • commit 상태를 원하는 시점으로 되돌리기
    • pointer 기준으로 노드끼리 연결을 끊어냄
    • 끊어낸 후 지정 commit 이후의 파일은 삭제됨
  • git reset 옵션
    • hard : 주의!! 다시 되돌릴 수 없음
      • 지정된 commit 이후의 기록과 파일 모두 지움
    • mixed (default)
      • commit 기록은 삭제하되, 기존 파일 untracked 상태로 제공
      • git reset == git reset --mixed
    • soft
      • commit 기록은 삭제되지만, 파일은 staged 상태로 남음
    • git push --force
      • force 옵션으로 강제로 push
      • 혼자 쓰는 branch면 마음대로 해도 되지만
      • 공유 중인 branch이면 주의해서 사용

다행히 며칠 밖에 안된 상황이었고 업무 상황이 아닌 개인 기록용이여서 다행인 상황이었다. 회사 업무 중 이런 상황이었더라면 ...;;;;

이런 실수를 다신 안저지르도록 보안에 좀더 신경써야겠다. 그리고 gitignore 사용하기 꼭!

 

복사했습니다!