Skip to content

2021-10-10) .env에 API키 노출한 커밋 히스토리 삭제 #24

@chaekie

Description

@chaekie

.env에 API키 노출한 커밋 히스토리 삭제

🤦‍♀️ 상황

  • 10월 7일에 .env 파일을 생성하고 cloudinary api키를 입력한 뒤 .gitnore에 추가했지만 실수로 .env를 푸시함.
  • 그 뒤로 3일이 지나 이후에 쌓인 커밋 내역이 많음.

Try 1. git revert --no-commit 되돌리고싶은커밋해시

https://jupiny.com/2019/03/19/revert-commits-in-remote-repository/ 블로그를 참고하여 revert를 사용하려고 시도.
revert 명령어와 .env를 생성하기 바로 전 시점의 커밋 해시를 입력한 뒤 충돌된 파일들도 병합하였다.
하지만 소스트리의 브랜치 그래프에서 현재 커밋 시점의 위치가 변하지 않은 걸 확인.
revert 명령어는 "커밋을 되돌리는 작업도 하나의 커밋으로 간주하여 커밋 히스토리에 추가하는 것"으로
내가 의도했던 커밋 삭제를 위한 명령어가 아니었음.

Try2. git reset --hard 되돌리고싶은커밋해시

reset 명령어를 사용하여 .env를 생성하기 전 시점으로 되돌아가려고 시도.
연습삼아 revert 명령어를 사용하기 전 시점으로 되돌아갔다.
하지만 이후 다시 또 reset 명령어를 사용하려고 보니,
reset 명령어를 사용할 경우 그 시점 이후에 팀원 모두가 기록한 커밋 내역이 사라지는 위험이 발생한다는 것을 인지.

Try3. cloudinary에서 API키 재발급

모두의 행복과 안전을 위해 API키를 새로 발급받아 새로운 API키를 사용하기로 결정.

🪴 참고

  • 코드를 다 날릴 수 있다는 불안감이 든다면 로컬 저장소에서 폴더를 복제해두고 깃 조작을 시도하면 된다.
  • 맥 숨김 파일 표시 단축키: command + shift + .
  • esc :q! : vi 강제 종료 (esc를 눌러야 명령어 모드로 바뀐다.)

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions