删除.git文件夹以及.git文件过大!删除大文件

1.删除.git文件夹
  1. 在本地仓库的目录下调用命令行删除根目录下的.git文件夹,输入
find . -name ".git" | xargs rm -Rf
# OR
rm -rf .git

这样本地仓库就清除了,像下面这样,master不见了。
在这里插入图片描述
2. 手动删除掉残留的.git文件

  1. 在命令行中输入rm -rf + github仓库地址,例

rm -rf https://github.com/xxx/xxx.git

  1. 在 github 的对应的库中到 setting 删除库。
2..git文件过大!删除大文件

在我们日常使用Git的时候,一般比较小的项目,我们可能不会注意到.git 这个文件。

其实, .git文件主要用来记录每次提交的变动,当我们的项目越来越大的时候,我们发现 .git文件越来越大。

很大的可能是因为提交了大文件,如果你提交了大文件,那么即使你在之后的版本中将其删除,但是,

实际上,记录中的大文件仍然存在。

为什么呢?仔细想一想,虽然你在后面的版本中删除了大文件,但是Git是有版本倒退功能的吧,那么如果大文件不记录下来,

git拿什么来给你回退呢?但是,.git文件越来越大导致的问题是: 每次拉项目都要耗费大量的时间,并且每个人都要花费

那么多的时间。。

git给出了解决方案,使用git branch-filter来遍历git history tree, 可以永久删除 history 中的大文件,达到让.git文件瘦身的目的。

下面给出步骤(以下步骤非常危险,操作需谨慎!别把公司删没了哈哈)

首先找出git中前五大的文件:
git verify-pack -v .git/objects/pack/pack-*.idx | sort -k 3 -g | tail -5
执行的结果实际上是这个样子的:
git中大文件
第一行的字母其实相当于文件的id,用以下命令可以找出id 对应的文件名:
git rev-list --objects --all | grep 8f10eff91bb6aa2de1f5d096ee2e1687b0eab007
好了,最大的文件找到了。怎么删除呢?

git filter-branch --index-filter 'git rm --cached --ignore-unmatch <your-file-name>'
rm -rf .git/refs/original/
git reflog expire --expire=now --all
git fsck --full --unreachable
git repack -A -d
git gc --aggressive --prune=now
git push --force [remote] master

首先,里面最重要的两条命令是 git filter-branchgc, filter-branch 真正在清理,但是只运行它也是没用的,需要再删除备份的文件,重新打包之类的,最后的gc命令,用来收集产生的垃圾,最终清除大文件。

参考文章:.git文件过大!删除大文件

  • 12
    点赞
  • 24
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
要在Python中复制.git文件夹,可能会出现[Errno 13] Permission denied的错误。这个错误是由于你没有足够的权限来复制.git文件夹所导致的。 解决这个问题的方法是确保你有足够的权限来访问和复制.git文件夹。你可以通过以下几种方法解决这个问题: 1. 确保你在运行Python脚本时具有足够的权限。如果你是在命令行中运行Python脚本,请确保你是以管理员身份运行命令行。 2. 检查你要复制的.git文件夹的权限。确保你具有读取和写入.git文件夹的权限。如果你没有这些权限,你可以尝试更改文件夹的权限,使其可读可写。 3. 如果你正在使用Windows系统,并且.git文件夹位于受保护的系统文件夹中,例如C:\Program Files,你可能需要以管理员身份运行Python脚本。你可以右键单击脚本文件,然后选择“以管理员身份运行”。 请注意,复制.git文件夹可能会涉及到敏感的版本控制信息,因此在操作之前,请确保你有相关的权限和授权。 引用: Windows系统条件下,批量清除git版本管理配置文件,批量删除.git文件夹 使用方法:下载将该脚本文件,拷贝到要清除的项目的文件夹目录下,双击bat文件即可。 引用: 使用coding添加公钥后,使用如下命令出现git@e.coding.net: Permission denied (publickey)错误 解决办法 。 引用: gitee生成、添加ssh公钥 如果你的问题是你明明添加了公钥,却总是出现git@gitee.com: Permission denied (publickey).问题 。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值