2014-04-21 5 views
3

안녕하세요. 성공적으로 내역을 다시 작성하고 git filter-branch -f --prune-empty --tree-filter 'rm -rf <all unwanted dirs>'을 사용하여 추출하려는 5 개의 폴더가 있고 모든 git 기록을 유지했습니다. git filter-branch 내 repo에서 모든 하위 모듈을 제거합니다.

유일하게 남아있는 문제

, 내가

을하고 커밋 한 창틀 서브 모듈이 있고 나는이 작업을 수행 할 수있는 방법, 완전히 그 서브 모듈의 모든 내 자식 기록에서 커밋 제거하려면?

+1

'자식이'또한 필터 지점의'--index-filter' 그들을 rm', 내 서브 모듈의 모두 lib 디렉토리에 있다고 가정

git filter-branch -f --prune-empty --tree-filter ' git submodule deinit -f . git rm -rf lib && rm -rf lib find . -name .gitmodules -delete' HEAD 

으로했을 'git rm .gitmodules' 명령을 사용하면'git submodule' 명령이 누락되었다고 생각하지 않습니다. – jthill

+0

이미 그걸 시도했지만 결국은 회색 고스트 서브 모듈 폴더가됩니다. – Hausland

+0

또한'git submodule deinit'이 필요합니다. – jthill

답변

1

것은 내가

+0

내 서브 모듈이 루트 디렉토리에 있다면 어떻게 될까요? – asuna