실수로 내 git 저장소에 추가 된 "npz, species_coex.npz"파일이 있습니다. 실수를 깨닫고 git rm으로 제거했다. 이제는 그 자식이 여전히 그것에 대해 알고 있다는 것을 알았습니다. (보통 좋았지 만, 처음에는 절대 추가하지 않은 것처럼 자식을 완전히 잊어 버렸습니다.)저장소에서 파일을 영구적으로 제거하십시오. git
필자는 filter-branch 명령에 대해 읽었지만 사용하지 않으려 고합니다. 나는 this을 읽은
, 그들은 추천 :
$ git filter-branch --tree-filter 'rm -f "npz, species_coex.npz" ' HEAD
내가 오류 얻을 : (때문에 빈 공간,
fatal: ambiguous argument 'npz, species_coex.npz': unknown revision or path not in the working tree
잘 모르겠어요,이 문제가 발생하는 이유를하는 나는 그것을 인용문에 넣었거나 파일이 현재 머리에 없기 때문에 그렇지 않습니까? 이 파일을 어디에서 찾을 수 있는지 어떻게 말할 수 있습니까?
그리고 방법이 있습니까, 필터 분기없이이 작업을 수행 할 수 있습니까? 파일을 한 번만 추가 한 다음 제거하면 기록이 매우 간단합니다.
'--tree-filter'는 매우 느리지 만 따옴표로 묶인 추천이 작동해야합니다. 'filter-branch'에서'rm'뿐만 아니라 실제로'git rm'을 사용하는 것처럼 보입니다.원치 않는 파일을 제거하는 훨씬 더 빠른 방법은 "the BFG"(해당 이름 검색)를 사용하는 것입니다. 그러나 그것은 어떤 필터 - 브랜치와 같은 문제를 가지고있다 : "나쁜"파일 이후와 적어도 모든 부분을 원래의 커밋과 더 이상 호환되지 않는 새로운 커밋에 복사해야하고 * 모든 사람 *이를 수용하도록 변경해야합니다. – torek