원격 저장소에 원하는 파일/디렉토리 및 기록 삭제
방법
비밀번호나 중요한 정보가 들어간 파일/디렉토리를 실수로 커밋/푸시해버렸을 경우 삭제하는 방법에 대하여 기술한다.
파일의 경우
1
2
3
git filter-branch --force --index-filter \
'git rm --cached --ignore-unmatch <파일명>' \
--prune-empty --tag-name-filter cat -- --all
디렉토리의 경우
1
2
3
git filter-branch --force --index-filter \
'git rm -r --cached --ignore-unmatch <디렉토리명>' \
--prune-empty --tag-name-filter cat -- --all
푸시
위 명령어를 실행 시 로컬 저장소에 해당 파일/디렉토리와 관련된 커밋들이 모조리 사라진다. 이렇게 사라진 기록을 --force
옵션을 줘서 강제로 푸시한다.
1
2
3
git add *
git commit -m "delete file/history"
git push origin master --force
출처
아래 문서를 참고하였다
https://melonicedlatte.com/programming/2019/04/20/031700.html
This post is licensed under CC BY 4.0 by the author.