Я использую bfg удалить некоторые подкаталоги из (клона) репозитория:мерзавца: --prune пустого после использования BFG дубликатов совершает
java -jar bfg-1.12.12.jar --delete-folders {folder1,folder2,folder3} --no-blob-protection myrepo.git/
git reflog expire --expire=now --all && git gc --prune=now --aggressive
Это работает нормально, но после того, как я использовал BFG у меня есть много пустых коммитов (т. е. совершает приятные сообщения журнала, но без изменений, поскольку они касаются только тех файлов, которые были удалены сейчас).
Итак, как следующий шаг я пытался использовать
git filter-branch --commit-filter 'git_commit_non_empty_tree "[email protected]"' HEAD
или
git filter-branch --prune-empty --tag-name-filter cat -- --all
Обе версии не имеют желаемого эффекта (удаление пустых фиксаций).
Вместо того, что я в конечном итоге представляет собой хранилище, где (см скриншот ниже, слева находится перед обрезкой, прямо после):
- несколько пустых коммиты были удалены
- наиболее пустые фиксаций остаются
- непустые фиксаций продублированы в отдельных поездах фиксаций
Любые советы?
Как вы создали 'myrepo.git' - это голый/зеркальный репозиторий по рекомендациям BFG? – javabrett
Я использовал 'git clone --mirror https: //: @git ....'. Правильно ли это? – fuenfundachtzig
Да. Вы также возвращались и возвращали свое «происхождение», прежде чем начинать с 'filter-branch'? – javabrett