작업을 하다 보면 .gitignore에 추가했어야 했는데 뒤늦게 알아차리는 경우가 종종 있죠.
저도 이미 푸쉬해버린 커밋들에 섞여있는 나의 json 파일들을 발견하고 말았습니다.

이렇게 작성해 두면 커밋에서 파일들은 무시됩니다.
만약 경로 아래에 있는 파일들 전체를 무시하길 원한다면,
루트 기준 해당 파일 경로를 작성해 주면 됩니다.
/파일이름/
# 예시
/config/
브랜치를 들여다 보면 아래처럼 이미 쏙쏙 박혀있는 경우가 있죠

보통 이런 건 한 커밋에만 있는 게 아니죠, 그 전 커밋... 그 이후 커밋... 다 있어요.
# 새로 클론 받아두기
git clone https://github.com/your-github/your-repository.git your-repository-clean
cd your-repository-clean
# 새로 브랜치 백업
git checkout main #또는 대상 브랜치
git branch backup-before-config-clean
pip install git-filter-repo
# 맞는 프로젝트인지 경로 확인 후 작업 your-repo-clean
git filter-repo --path 해당-폴더-이름/ --invert-paths
--path 파일이름/ : 경로 디렉터리 안에 있는 모든 파일을 대상으로 함
--invert-paths :해당 경로만 제거하고 나머지는 유지함
git push origin --force --all
git push origin --force --tags
/디렉토리/
git filter-repo --force --path config/ --invert-paths

살아나세요 용사여