使用 git 过滤器分支重写提交历史记录

使用 git 过滤器分支重写提交历史记录

使用 git 过滤器分支命令(过滤器分支)

该命令允许您重写 Git 提交历史记录。这可以对选定的分支执行此操作,并且可以对每个修订版本应用自定义筛选器。这将为所有已修改的提交创建不同的哈希。这意味着您可以根据任何重写的提交获得所有提交的新ID。git filter-branch
使用该命令很危险,因为它会更改 Git 存储库。它更改了提交 ID,并且对此类更改做出反应需要开发人员执行显式操作,例如,尝试将过时的本地分支重定为相应的重写远程跟踪分支。filter-branch

例如,如果要从 Git 历史记录中删除包含密码的文件,则可以使用。或者,您想要从历史记录中删除巨大的二进制文件。要完全删除此类文件,您需要在所有分支上运行该命令。git filter-branchfilter-branch

过滤器分支示例

以下命令从 Git 存储库中提取目录,并保留此子文件夹的所有提交。

git filter-branch --prune-empty --subdirectory-filter FOLDER-NAME BRANCH-NAME
以下命令替换所有提交中一个作者的电子邮件地址。

git filter-branch -f \
--env-filter 'if [ "$GIT_AUTHOR_NAME" = "Lars Vogel" ]; then \
GIT_AUTHOR_EMAIL="xq.com"; fi' HEAD)
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

源代码大师

赏点狗粮吧

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值