Git-удалить коммиты с пустым набором изменений с помощью filter-branch



Как удалить коммиты, которые не имеют набора изменений с помощью Git filter-branch?



я переписал свою историю git, используя:



git filter-branch --tree-filter 'rm -r -f my_folder' -f HEAD


это сработало, но теперь у меня есть много коммитов с пустыми наборами изменений. Я хотел бы удалить эти коммиты. Желательно в msysgit.



перебазирование не вариант, потому что у меня есть более 4000 коммитов и половина из них должны быть удалены.

487   2  

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

    Ничего не найдено.