我正试图将一个旧的设计和技术债务的庞然大物格式化成类似可读的东西,以便在将来自动化和检查它。我已经反复研究了几天了,并且已经读过了
article
git filter-branch --tree-filter 'prettier --no-config --ignore-path /Users/samuraiseoul/.prettierignore --single-quote --use-tabs --print-width=90 --write "**/*.{js,php,scss,ts,md,css}" || echo âError formatting, possibly invalid codeâ' -- --all
问题在于,虽然它可以在一个较小的测试回购上运行,大约有500次提交,但要在doom的主回购上运行30000多个提交和100x的文件,则需要几周的时间。
git filter-branch
似乎得救了。我不知道到底出了什么问题。它似乎与此类似
SO post
,但不起作用。
git filter-branch --tree-filter 'git show $GIT_COMMIT --pretty="" --name-only --diff-filter=AM | grep -e "\.scss$" -e "\.php$" -e "\.css$" -e "\.js$" -e "\.ts$" -e "\.md$" -e "\.yml$" | tr " " "\ " | tr "\n" " " | xargs -t find 2> /dev/null | tr " " "\ " | tr "\n" " " | xargs -t prettier --no-config --single-quote --use-tabs --print-width=90 --write || echo âError formatting, invalid syntax' -- --all
我想问题出在我编写的bash命令传递到
filter-branch
,但我现在还不能百分之百肯定。任何帮助将非常感谢,如果有更多的信息或其他命令我应该尝试,让我知道!谢谢。