首页 > 解决方案 > 将 python 脚本应用于 git 历史记录中的每个提交

问题描述

我有一个 python 脚本可以更改我的仓库中的一些文件。我想通过将脚本应用于每个提交来重写历史记录。

如果我使用 shell 命令,git filter-branch 命令可以正常工作

PS>git filter-branch --tree-filter 'echo 123 > 123.txt' -- --all

但是当我使用python脚本时,它只会在当前工作目录中进行更改而不更改历史记录

PS>git filter-branch --tree-filter 'py C:/Scripts/myscript.py' -- --all
WARNING: Ref 'refs/heads/master' is unchanged

我什至用最简单的 oneliner 更改了脚本

print("123", file=open("C:/MyRepo/123.txt", mode="w"))

它仍然不起作用。可能是什么问题?

标签: pythongitgit-filter-branchgit-rewrite-history

解决方案


推荐阅读