본문 바로가기

Spring

git ignore, commit history 삭제

프로퍼티 파일에는 아이디랑 비번이 있다.

git에 올리면 안된다.

ignore 해줘야한다.

 

이미 올린 경우.. git history 도 제거해야한다

남아있는 commit history


 

Git Filter-Branch를 사용하여 기록 삭제 

BFG Repo-Cleaner를 사용하지 않으려면, Git의 filter-branch를 사용할 수도 있습니다.

그러나 이 방법은 더 복잡하고 느릴 수 있습니다:

git filter-branch --force --index-filter \ "git rm --cached --ignore-unmatch src/main/resources/application.properties" \ --prune-empty --tag-name-filter cat -- --all

 

 

 

이후에, git gc 명령어로 청소하고, 강제로 푸시해야 합니다:

git reflog expire --expire=now --all && git gc --prune=now --aggressive git push --force --all
 

결과: 제거 됨

 


주의 사항

  • 백업: 기록을 재작성하기 전에 반드시 리포지토리의 백업을 만들어 두세요.
  • 협업자 알림: 기록이 재작성되면 협업자들도 영향을 받으므로 사전에 알리는 것이 중요합니다.
  • 보안: 민감한 정보가 노출된 경우, API 키나 비밀번호 등을 변경하는 것이 좋습니다.

이 과정을 통해 application.properties 파일을 Git의 모든 기록에서 안전하게 삭제할 수 있습니다.