如何使用git-filter-repo来格式化git历史中的所有代码



我想使用git-filter-repo来格式化我的repo历史中的所有c++文件。要格式化文件,我使用clang-format。用git过滤器分支做这件事我知道我可以做:

git filter-branch --tree-filter 'find . -type f -iname *.cpp -o -iname *.hpp | xargs clang-format -i' HEAD

但是由于git建议使用git-filter-repo,所以我愿意这样做。然而,我不清楚该使用哪个回调函数?

干杯!

好吧,我在这张备忘单的底部找到了答案。已经有一个lint历史脚本可以做到这一点。在git repo的根目录中有一个.clang-format文件,下面的运行得很好

lint-history --relevant 'return (filename.endswith(b".cpp") or filename.endswith(b".hpp"))' clang-format -style=file:.clang-format -i

最新更新