2011-08-12 9 views
6

최근에 git filter-branch --subdirectory-filter deep/in/my/project을 사용하여 내 저장소 (bigproj에 거주)를 분할했습니다. 그런 다음 .git 디렉토리를 deep/in/my/project으로 옮겼습니다. 나는 (git stash drop 후)이 오류로 나는이 은닉을 삭제할 수 없습니다git filter-branch --subdirectory-filter

[email protected]{0}: filter-branch: rewrite 

:

refs/[email protected]{0}: not a valid stashed state 
이제

는 숨겨 놓은 상단 숨겨 놓은 뭔가처럼 이상한 상태에있다

stash @ {1}의 refid를 알더라도 계층 구조가 bigproj 인 파일에 대한 diff가 여전히 포함되어 있습니다. 숨겨진 데이터를 다시 쓸 수 있습니까? 따라서 deep/in/my/project 계층에 속한 파일 만 포함됩니다.

답변

0

.git 디렉토리를 이동하기 전에 droppop을 수행해야합니다. 이사 한 후에는 언제든지 다시 숨길 수 있습니다.

+0

아니요, 작동하지 않습니다. '.git' dir을 이동하기 전에'git stash drop '을 시도해도 같은 오류가 발생합니다. 재 숨겨서 무슨 뜻이야? –

+1

흠, 분명히 'stash'는 어떤 이유로 필터 분기 프로세스에서 살아남지 못합니다. 필터링되지 않은 상태로 돌아가서 변경 사항을 커밋 한 다음 필터가 커밋되지 않은 HEAD ~ 1을 다시 커밋하지 않도록해야합니다. –

3

git filter-branch을 사용한 후에 동일한 문제가 발생했습니다. 다음 명령은 숨김을 완전히 제거하므로 git filter-branch에 의해 작성된 항목도 삭제됩니다. 경고!이 숨겨진 변경 사항은이 명령을 호출 한 후에 복구 할 수 없으므로 명령을 호출하기 전에 다른 모든 숨겨진 상태를 적용해야합니다.

git stash clear 
+0

하지만 전 은닉 물을 죽이고 싶지 않습니다. 더 이상 repo에없는 부품이 없어도 보관하고 싶습니다. –

관련 문제