2014-09-01 3 views
0

파일 확장자를 재귀 적으로 제거하려고하는데, 노력하고 있어도 계속 실패합니다. 어떤 아이디어에 감사드립니다.힘내 - 파일 확장명을 재귀 적으로 제거하십시오.

[email protected]:~/hh/hh_sdk/src/uboot_hh$ git rm -r --cached \*.o 
fatal: pathspec 'src/uboot_hh/*.o' did not match any files 
[email protected]:~/hh/hh_sdk/src/uboot_hh$ sudo git rm -r --cached \*.o 
fatal: pathspec 'src/uboot_hh/*.o' did not match any files 
[email protected]:~/hh/hh_sdk/src/uboot_hh$ sudo git rm -r --cached *.o 
fatal: pathspec 'src/uboot_hh/*.o' did not match any files 
[email protected]:~/hh/hh_sdk/src/uboot_hh$ sudo find . -name *.o -exec git rm -r --cached {} \; 
fatal: pathspec 'src/uboot_hh/lib_arm/_divsi3.o' did not match any files 
fatal: pathspec 'src/uboot_hh/lib_arm/cache.o' did not match any files 
fatal: pathspec 'src/uboot_hh/lib_arm/_udivsi3.o' did not match any files 
fatal: pathspec 'src/uboot_hh/lib_arm/_umodsi3.o' did not match any files 
+0

실제로 힘내 추적하여'.o' 파일 중 하나는 위치 : 파일이 더 이상 파일 시스템에없는 존재 않을 경우

은 또한 당신은 git rm--force 옵션 (-f)을 통과해야합니까? –

답변

1

find 접근 방식은 잘 작동해야하지만, 쉘은 그렇지 find에 전달하기 전에 *을 확장 것이기 때문에 당신은 단일 견적 '*.o' 패턴이 필요합니다.

find -name '*.o' -exec git rm -f -r --cached {} \; 
+0

고마워, 내가 썼던 것처럼 정확히 시도했지만, 여전히 치명적이다 : pathspec 'src/linux/linux-04.02.00.07/mm/vmalloc.o'파일이 일치하지 않는다 치명적 : pathspec 'src/linux/linux -04.02.00.07/mm/madvise.o '어떤 파일과도 일치하지 않았습니다 ...... 그리고 여전히이 파일들을 git gui에서 볼 수 있습니다. "unstanged changes" – ransh

+0

결과 :'find -name'* .o '-exec bash -c'file = {}; echo "$ file"; git rm -f -r --cached "$ file"; ' \;'? – hek2mgl

+0

안녕하세요, 여전히 같습니다. – ransh

관련 문제