如何使用git filter repo而不是整个分支历史只修改一系列提交?

如何使用git filter repo而不是整个分支历史只修改一系列提交?,git,git-filter-repo,Git,Git Filter Repo,我想使用git filter repo为我的多提交请求自动应用一些脚本样式指南重构 因此,我只想将这些操作应用于我正在推动的几个最新的提交,而不涉及旧历史中的任何其他内容 有办法吗 为了具体起见,这里有一个测试repo:和一个示例blob操作: # Install git filter-repo. # https://superuser.com/questions/1563034/how-do-you-install-git-filter-repo/1589985#1589985 python3

我想使用
git filter repo
为我的多提交请求自动应用一些脚本样式指南重构

因此,我只想将这些操作应用于我正在推动的几个最新的提交,而不涉及旧历史中的任何其他内容

有办法吗

为了具体起见,这里有一个测试repo:和一个示例blob操作:

# Install git filter-repo.
# https://superuser.com/questions/1563034/how-do-you-install-git-filter-repo/1589985#1589985
python3 -m pip install --user git-filter-repo

# Usage.
git clone https://github.com/cirosantilli/test-git-filter-repository
cd test-git-filter-repository
printf 'd1==>asdf
d2==>qwer
' > replace.txt
git filter-repo --replace-text replace.txt --refs HEAD
基于:

上述情况将影响测试回购的所有3项承诺。例如,有没有办法只影响最后2次提交

blob操作对于我的用例应该是完美的,因为我只想接触我的提交修改过的blob

我不容易找到它

我还询问了他们的问题追踪者:


在git filter repo ac039ecc095d上测试。

尝试将提交范围指定为您的
--refs
参数:

git filter-repo ... --refs HEAD~2..master

我也没有发现提到文档,但是,它看起来像是直接传递给了git fast export

使用交互式重新基址?