三分钟教你学Git(十八) - 重写历史

本文介绍了如何使用git filter-branch命令重写Git的历史记录,包括删除文件、修改提交信息以及调整项目目录。警告:该操作需谨慎,可能导致仓库破坏。
摘要由CSDN通过智能技术生成

git filter-branch 允许你使用一个单一命令来大范围地更改历史。所以这个命令要慎用。


1假如你想对所有的commits删除一个文件。

git filter-branch --tree-filter 'rm to_be_deleted_file' HEAD


2 假如你想删除某些message中的某些以cr开头的行。

git filter-branch --msg-filter '
sed -e "/^cr: /d"
'


3 将仓库变成以new_home目录为项目父目录。--表示不是分支选项,而是修改选项,  --all表示所有的分支。

git filter-branch --subdirectory-filter new_home -- --all

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值