클라이언트가 이미지 / pdfs / 등을 저장하는 데 사용하는 공개 / 업로드 된 디렉토리가있는 몇 가지 프로젝트가 있습니다. 이는 각 프로젝트 저장소에 존재합니다 (방금 이동했거나 git을 배우면서 추가됨). gitignore.
테스트로 '개발'브랜치의 단일 프로젝트에서 디렉터리를 제거하려고합니다.
내가 사용중인 명령 :
git filter-branch --tree-filter "git rm -rf --cached --ignore-unmatch public/uploaded"
다음과 같은 출력을 생성합니다.
rm 'public/uploaded/image_1.jpg'
rm 'public/uploaded/image_2.jpg'
rm 'public/uploaded/image_3.jpg'
rm 'public/uploaded/image_4.jpg'
rm 'public/uploaded/image_5.jpg'
그러나 다음으로 끝납니다.
WARNING: Ref 'refs/heads/develop' is unchanged
이 명령이 작동하지 않는 이유는 무엇이며 어떻게 기록에서 디렉토리를 성공적으로 제거하고 .gitignore에 추가하기 전에 파일을 유지할 수 있습니까?
--cached
색인에서 작동하는을 작업 디렉토리를 사용하는 --tree-filter와 결합하려고합니다 .
시험
git filter-branch --index-filter "git rm -rf --cached --ignore-unmatch public/uploaded"
"--prune-empty"추가를 고려할 수도 있습니다.
이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.
침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제
몇 마디 만하겠습니다