공부기록/Git
[git에 잘못올린 파일 삭제] 중요한 파일 잘못 올렸을 때ㅠㅠ
Jenner
2023. 5. 17. 14:38
주의 : git filter-branch는 의도된 히스토리 재작성에 대한 명백하지 않은 심각한 부작용을 생성할 수 있는 함정이 많습니다(그리고 성능이 형편없기 때문에 이러한 문제를 조사할 시간이 거의 없을 수 있습니다). 이러한 안전 및 성능 문제는 이전 버전과 호환되도록 수정할 수 없으므로 사용하지 않는 것이 좋습니다. git filter-repo와 같은 대체 기록 필터링 도구를 사용하십시오. 여전히 git filter-branch를 사용해야 하는 경우 안전(및 성능)을 주의 깊게 읽고 filter-branch의 함정에 대해 알아본 다음 거기에 나열된 위험을 합리적으로 가능한 한 많이 피하십시오.
git filter-branch -f --prune-empty --index-filter "git rm -r --cached --ignore-unmatch **/삭제하고자 하는 파일명" HEAD
**/를 앞에 하는 이유는
모든 폴더 내의 해당 파일명을 삭제하고자 하는 경우 사용
filter-branch 모든 branch를 다시 쓰게 됨
options
prune-empty 필터로 걸러내면 빈 커밋이 생성되게 됨
index-filter index를 다시 쓰는 필터 tree filter와 비슷하지만 tree 를 checkout하지 않고 더 빠르다.
종종 git rm --cached --ignore-unmatch...등과 같이 쓰인다.
git push --force --all
깃 푸쉬하면 변경사항이 remote에서도 적용됨