기본적으로 나는 실수로 '커밋'에 'files'폴더를 추가 했으므로 모든 파일과 함께 'files'폴더가 나열된 개발의 네 가지 이전 분기가 있습니다. 이 브랜치를 변경하고 싶지는 않습니다. 파일 폴더를 제거하고 나머지는 그대로두기를 원합니다. 운 좋게도 인터넷 검색을 시도 했습니까? 나는 쉽게 뭔가를 놓치고 있다고 가정하고있어, 어떤 도움을 많이 주시면 감사하겠습니다.새로운 변경 사항을 커밋하지 않고 이전 분기의 폴더를 untrack/ignore 할 수 있습니까?
1
A
답변
4
그냥 다음 커밋에서 제거 하시겠습니까, 아니면 프로젝트 기록에서 완전히 제거 하시겠습니까?
git rm BAD_DIRECTORY && git commit -a
은 전자 메일을 처리합니다. 재 작성 기록은 다른 저장소와 귀하의 저장소를 동기화하지 않으므로이 저장소를 공개적으로 공유 한 경우이 방법을 사용해야합니다.
후자를 수행하려면 git filter-branch
을 사용하십시오. 히스토리의 각 상태 (커밋)에서 일련의 필터 (명령)를 프로젝트에 적용하여 히스토리를 다시 작성합니다. 사용 사례를 들어, 같은 것을 사용할 수 있습니다 --index-filter
를 사용하여
git filter-branch --index-filter "git rm --cached --ignore-unmatch BAD_DIRECTORY"
을, 당신은 시간을 절약, 각 커밋에서 체크 아웃을 할 필요 마십시오. 자세한 정보는 매뉴얼 페이지를 확인하십시오. --ignore-unmatch
을 git rm
에 추가하면 BAD_DIRECTORY가 특정 커밋에서 존재하지 않으면 실패하지 않습니다.
관련 문제
- 1. 변경 사항을 커밋하지 않고도 Subclipse로 Helios에서 리팩토링 할 수 있습니까?
- 2. 커밋하지 않고 변경 사항을 이동하는 방법?
- 3. 모든 브랜치가 devel/hotfix 분기의 새로운 변경 사항을 병합하게합니다.
- 4. 이전 분기의 변경 사항을 새 분기로 병합하는 방법은 무엇입니까?
- 5. 힘내 : 현재 분기에 커밋하지 않고 작업 디렉토리를 새로운 분기에 커밋 할 수 있습니까?
- 6. TFS 2005 분기의 변경 사항을 비교하는 도구
- 7. WifiManager가 변경 사항을 커밋하지 않는 것 같습니다.
- 8. 변경 사항을 커밋하지 않고 git으로 새 파일과 변경 사항을 가져 오는 방법은 무엇입니까?
- 9. 커밋하지 않고 변경 내용을 숨기는 방법?
- 10. 어떻게 다른 분기에 로컬 변경 사항을 diff 할 수 있습니까?
- 11. SVN 분기의 부모를 바꿀 수 있습니까?
- 12. 부모끼리 커밋하지 않고 변경 (첫 번째 커밋)
- 13. 새로운 버전을 포크하고 변경 사항을 병합하는 Github
- 14. SVN - 체크 아웃 한 시점을 기준으로 분기의 변경 사항을 확인하십시오.
- 15. Git merge - 추적하지 않은 파일을 커밋하지 않고 커밋하지 말 것
- 16. 변경 사항을 사실 이후에 새로운 지점으로 옮길 수 있습니까?
- 17. 응용 프로그램 업그레이드 중에 변경 사항을 병합 할 수 있습니까?
- 18. Mercurial에서 커밋하지 않고 diff를 내보내기
- 19. 커밋하지 않고 CVS 서버 레포에서 파일을 수정할 수 있습니까
- 20. GIT : 커밋을 잊어 버렸고 새로운 변경을했습니다. 새로운 변경 사항을 실행 취소하고 변경 사항을 재실행하는 방법은 무엇입니까?
- 21. Subversion 리팩토링 장치 트렁크 및 이전 분기의 변경 내용을 병합 할 수 있습니다.
- 22. Git 하위 트리 병합은 병합중인 분기의 변경 사항을
- 23. svn 분기의 변경 내용 검토
- 24. 프래그먼트 커밋하지 않고 트랜잭션
- 25. Windows 용 GitHub 도구. 새로운 변경 사항을 적용하지 않고 새로운 변경 사항 가져 오기
- 26. 커밋하지 않고 이클립스에서 분기를 전환하는 방법
- 27. 이전 커밋에서 파일에서 변경 사항을 롤백하는 방법
- 28. 로컬 변경을 미리 커밋하지 않고 git를 병합하십시오.
- 29. ASP.NET에 대한 변경 사항을 업로드 할 수 없습니다. - 게시 함수가 변경 사항을 업로드하지 않습니다.
- 30. 업데이트 후 이전 폴더를 삭제할 수 있습니까?
프로젝트 기록에서 완전히 제거하는 것이 내가 필요한 것이라고 생각합니다. 내 '마스터'내가
'code'git RM -r --cached 파일을 제거하기 때문에 'update_05'가지의 BAD_DIRECTORY이없는은/*'update_04 '을 통해 지점'update_01 '로
그러나 code' '그것은 여전히 존재합니다. – Ganginator
마스터에서 제거한 후 새 마스터 맨 위에 update_05 리베이스를 제안합니다. update_05가 BAD_DIR을 수정하지 않는 한 두 브랜치를 모두 필터링하지 않아도됩니다. – jpaugh
감사합니다. 도움에 감사드립니다. 내가 할 수 있다면 이것에 대한 마지막 질문 하나. ''code'git을 수행 한 후 filter-branch --index-filter "git rm -r --cached --ignore-unmatch files/*"'code', 어떻게 작동하는지 보았습니다. 어떻게 이들을 github에 안전하게 밀어 넣을 수 있습니까? 그들은 'files'디렉토리도 제거합니까? – Ganginator