2016-12-29 9 views
0

gitignore에 포함되지 않은 거대한 파일이 있기 때문에 더 이상 작업 디렉토리에 커밋 할 수 없습니다. 많은 커밋/리비전에서 이상.'git filter-branch'가 실패 할 때 특정 파일을 특정 커밋에서 제거하십시오.

나는의 지침을 따랐습니다 : http://naleid.com/blog/2012/01/17/finding-and-purging-big-files-from-git-history 하지만 git filter-branch 부분은 나뭇 가지를 다시 작성할 수 없습니다

실패 : 당신은 unstaged 변경 사항이. 또한 인덱스에 커밋되지 않은 변경 내용이 포함되어 있습니다.

이러한 상황에서 어떻게 식별 할 수 있습니까? 현재 또는 과거의 모든 커밋 내에서 가장 큰 파일을 찾은 다음 특정 커밋에서 특정 파일 만 제거 하시겠습니까?

답변

1

각 커밋은 전체 repo의 상태이므로 특정 커밋 이후에 오는 모든 커밋을 다시 작성해야합니다. 아니, 그 커밋을 편집 할 수는 없습니다.

표시되는 오류 메시지는 변경 사항이 무단 변경 되었기 때문에 숨기거나 다른 규칙을 사용하여 필터를 분기해야 계속 진행할 수 있습니다.