您好,欢迎访问沃航(武汉)科技有限公司官方网站
删除错误提交到git仓的文件方法
2019-07-14 02:28:22

git作为最主流的代码管理工具,使用人数非常广。但是正是由于使用人数广,很多技术不扎实的新手,容易错误的上传一些与代码无关的文件。

如果遇到这样的情况,我们就需要删除文件,下面我就来介绍下删除文件的命令:

git filter-branch --force --index-filter 'git rm --cached --ignore-unmatch 文件路径' --prune-empty --tag-name-filter cat -- --all

filter-branch 是让git重写每一个分支。 

--force 假如遇到冲突也让git强制执行。

--index-filter 选项指定重写的时候应该执行什么命令,要执行的命令紧跟在它的后面,在这里就是git rm --cached --ignore-unmatch 文件路径,让git删除掉缓存的文件,如果有匹配的话。

--prune-empty 选项告诉git,如果因为重写导致某些commit变成了空(比如修改的文件全部被删除),那么忽略掉这个commit。

--tag-name-filter 表示对每一个tag如何重命名,重命名的命令紧跟在后面,当前的tag名会从标注输入送给后面的命令,用cat就表示保持tag名不变。

紧跟着的--表示分割符,最后的--all表示对所有的文件都考虑在内。

如果工程没有设置tag,可以就用

git filter-branch --force --index-filter 'git rm --cached --ignore-unmatch 文件路径' --prune-empty

完成后将git仓重新打包,命令如下:

rm -rf .git/refs/original/ 
git reflog expire --expire=now --all
git gc --prune=now 
git gc --aggressive --prune=now

最后使用git push命令重新上传,git仓的体积就能减小了。


文章作者:沃航科技

联系我们
地址:
武汉市洪山区蓝晶国际7栋903
QQ:
932773931
电话:
027-59761089-806
手机:
13397158231
邮箱:
jevian_ma@worldflying.cn
×
物联网组态平台
试用账号:123456
试用密码:123456
如需测试更多功能或者有疑问可发送邮件至:jevian_ma@worldflying.cn
×
积木编程平台
试用方式:试用手机号码注册即可使用
如需测试更多功能或者有疑问可发送邮件至:jevian_ma@worldflying.cn