Git-удалить коммиты с пустым набором изменений с помощью filter-branch
Как удалить коммиты, которые не имеют набора изменений с помощью Git filter-branch?
я переписал свою историю git, используя:
git filter-branch --tree-filter 'rm -r -f my_folder' -f HEAD
это сработало, но теперь у меня есть много коммитов с пустыми наборами изменений. Я хотел бы удалить эти коммиты. Желательно в msysgit.
перебазирование не вариант, потому что у меня есть более 4000 коммитов и половина из них должны быть удалены.
2 ответов:
просто добавьте на :
git filter-branch --tree-filter 'rm -rf my_folder' --prune-empty -f HEAD(и, конечно, если у вас есть другие ссылки, вы можете переписать все с
-- --allвместоHEAD.)обратите внимание, что это не совместимо с
--commit-filter; в этом случае Чарльз Бейли получил ваш ответ.
просто ищу документацию для
filter-branch, вы должны быть в состоянии сделать это:git filter-branch --commit-filter 'git_commit_non_empty_tree "$@"' HEAD
Comments