本文介绍了在一系列提交中运行filter-branch的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
git filter-branch --env-filter'
export GIT_AUTHOR_EMAIL [email protected]
export GIT_AUTHOR_NAME =foo' - commita ..commitb
结果在您要重写哪个ref?
$ b
所以看起来 filter-branch
不允许使用两个任意引用之间的范围。
在连续提交范围内运行过滤器的最直接方法是什么如果这种方法是不可能的话。
解决方案
我找到的最干净的解决方案是: / p>
- 在
refb
处创建一个临时分支。 - 在
refa..temp
中应用分支过滤器。 - 重新绑定到临时分支并删除它。
- Create a temporary branch at
refb
. - Apply the branch filter on
refa..temp
. - Rebase onto the temporary branch and delete it.
use a range between two arbitrary refs.
What is the most straight forward way of running a filter over a range of consecutive commits (somewhere within the history of a branch) if this approach isn't possible.
解决方案
The cleanest solution I found was to do the following:
ie.
git branch temp refb
git filter-branch --env-filter '
export GIT_AUTHOR_EMAIL="[email protected]"' refa..temp
git rebase temp
git branch --delete temp
这篇关于在一系列提交中运行filter-branch的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!