imhamburger 님의 블로그

깃 푸시 오류 - remove secret from commit(s) or follow this URL to allow the secret 본문

깃(Git)과 깃허브(Github)

깃 푸시 오류 - remove secret from commit(s) or follow this URL to allow the secret

imhamburger 2024. 12. 6. 17:33

내 로컬에 있는 것을 원격 깃허브에 푸시하려할 때 다음과 같은 메세지가 떴다.

 

에러메세지

(?) To push, remove secret from commit(s) or follow this URL to allow the secret.

 

이 오류 메시지는 Git 커밋에 민감한 정보(예: 비밀번호나 API 키)가 포함되어 있을 때 발생할 수 있다고 한다.

GitHub와 같은 Git 호스팅 서비스에서는 보안상의 이유로 민감한 정보가 푸시되는 것을 막는다.

 

알고보니, 내가 테스트하려고 만들어 놓은 파이썬 파일에 AWS 키가 들어가 있었다....(큰일날뻔)

그래서 그거를 삭제하고 푸시하려하니... 에러가 해결되지 않았다.

 

삭제한 후에도 같은 오류가 발생하는 경우, Git 커밋 기록에 여전히 민감한 정보가 남아 있을 수 있다.

이를 해결하려면 Git 기록에서 해당 민감한 정보를 완전히 제거해야 한다.

 

내가 사용한 방법은 다음과 같다.

 

git filter-branch로 민감한 정보 삭제

git filter-branch --force --index-filter \
"git rm --cached --ignore-unmatch <파일명>" \
--prune-empty --tag-name-filter cat -- --all

 

 

혹은 다음 방법도 통한다.

git push origin --force --all

 

근데 --force 옵션은 신중히 고려하여 사용해야 한다...!