최근에 내 텍스트 편집기가 사용하는 프로젝트 파일 (다른 정크와 함께)이 프로젝트의 git 저장소에 추가되었음을 알았습니다. 실제로 프로젝트의 일부가 아니기 때문에 제거하고 싶지만 git rm저장소에서 이전 버전을 제거하지 않으며 유망 해 보이는 다른 것을 찾을 수 없습니다.
답변:
원하는 도구는 git filter-branch입니다. 사용법은 여기 에 설명 되어 있지만 기본적으로 다음과 같습니다.
$ git filter-branch --tree-filter 'rm -f my_file' HEAD
모든 커밋 에서 "my_file"을 제거 합니다.
이렇게하면 모든 커밋이 다시 작성되므로 원격 저장소로 푸시하면 (a) 강제로 업데이트해야하며 (b) 사용자로부터 가져온 다른 모든 사람은 이제 중복 된 커밋을 갖게됩니다 (기록을 다시 작성 했으므로). git rebaseman 페이지 에 설명되어 있습니다.
--prune-empty결과적으로 생성 된 빈 커밋도 제거되도록 추가하는 것이 좋습니다 .
git push --force? @mipadi