반응형
Git-filter-branch를 사용하여 빈 변경 집합이있는 커밋 제거
git filter-branch를 사용하여 변경 집합이없는 커밋을 제거하려면 어떻게해야합니까?
다음을 사용하여 내 자식 기록을 다시 작성했습니다.
git filter-branch --tree-filter 'rm -r -f my_folder' -f HEAD
이것은 잘 작동했지만 이제 빈 변경 세트가있는 많은 커밋이 있습니다. 그 커밋을 제거하고 싶습니다. 바람직하게는 msysgit에서.
리베이스는 4000 개가 넘는 커밋이 있고 그 중 절반을 제거해야하기 때문에 실제로 옵션이 아닙니다.
--prune-empty
옵션을 추가하십시오 .
git filter-branch --tree-filter 'rm -rf my_folder' --prune-empty -f HEAD
(물론 다른 ref가있는 경우 . -- --all
대신 모든 것을 다시 작성하는 것이 좋습니다 HEAD
.)
이것은와 호환되지 않습니다 --commit-filter
. 이 경우 Charles Bailey가 답변을드립니다 .
에 대한 문서를 살펴보면 다음과 filter-branch
같이 할 수 있습니다.
git filter-branch --commit-filter 'git_commit_non_empty_tree "$@"' HEAD
반응형
'development' 카테고리의 다른 글
"async void"단위 테스트를 인식 할 수없는 이유는 무엇입니까? (0) | 2020.10.19 |
---|---|
C ++ 11 unique_ptr 및 shared_ptr이 서로의 유형으로 변환 할 수 있습니까? (0) | 2020.10.19 |
누구든지 RadioButtonListFor를 구현 했습니까? (0) | 2020.10.19 |
Ruby on Rails에서 send_data와 send_file의 차이점은 무엇입니까? (0) | 2020.10.19 |
스크립트 실행과 관련된 파일 참조 (0) | 2020.10.19 |