如何删除错误提交的 git 大文件】的更多相关文章

早上小伙伴告诉我,他无法拉下代码,我没有在意.在我开始写代码的时候,发现我的 C 盘炸了.因为我的磁盘是苏菲只有 256G 放了代码就没空间了,于是我查找到了原来是我的代码占用了居然有 2000+M ,寻找了很久才发现,原来我小伙伴JAKE传了一个压缩包上去,一个1G的包. 那么如何把这个压缩包彻底从 git 删除? 如果需要删除 git 的历史记录,使用方法很简单,请看 Git如何永久删除文件(包括历史记录) - shines77 - 博客园 .当然这个方法需要很长时间,因为提交大文件的时间不…
title author date CreateTime categories 如何删除错误提交的 git 大文件 lindexi 2018-08-10 19:16:51 +0800 2018-2-13 17:23:3 +0800 git 早上小伙伴告诉我,他无法拉下代码,我没有在意.在我开始写代码的时候,发现我的 C 盘炸了.因为我的磁盘是苏菲只有 256G 放了代码就没空间了,于是我查找到了原来是我的代码占用了居然有 2000+M ,寻找了很久才发现,原来我小伙伴JAKE传了一个压缩包上去,…
如果不小心把错误的commit给commit了,可以对其进行撤销 1.使用git log查看commit日志,找到错误提交前一版本commit的哈希值; 2.使用git reset --hard commit_id; 3.git push origin HEAD --force(git push --force) 将修改提交到git服务器…
在代码目录下建立.gitignore文件: .gitignore (用记事本另存可以保存这个名字),配置上要忽略的文件或者文件夹,然后提交到git 上就可以了.…
git filter-branch --force --index-filter 'git rm --cached --ignore-unmatch test/docs/456776898979.apib' --prune-empty --tag-name-filter cat -- --all  …
git filter-branch --force --index-filter 'git rm --cached --ignore-unmatch upload/*' --prune-empty --tag-name-filter cat -- --all   git push origin master --force --all 我们常用的 git rm 仅对 Working Tree 构成影响,如果想永久的删除仓库中的文件或目录,那么就要用到 git filter-branch 命令了.…
方法: 根据–soft –mixed –hard,会对working tree和index和HEAD进行重置:    git reset --mixed:此为默认方式,不带任何参数的git reset,即时这种方式,它回退到某个版本,只保留源码,回退commit和index信息    git reset --soft:回退到某个版本,只回退了commit的信息,不会恢复到index file一级.如果还要提交,直接commit即可    git reset  --hard:彻底回退到某个版本,本…
git reset --hard <commit_id> git push origin HEAD --force…
删除Git记录里的大文件 仓库自身的增长 大多数版本控制系统存储的是一组初始文件,以及每个文件随着时间的演进而逐步积累起来的差异:而 Git 则会把文件的每一个差异化版本都记录在案.这意味着,即使你只改动了某个文件的一行内容,Git 也会生成一个全新的对象来存储新的文件内容.久而久之,Git 仓库会变得十分臃肿. 解决办法 step 1. 把代码拉到本地 git clone git@github.com:congyucn/GAN-102CategoryFlower.git step 2. 查看占…
app/test/target/ #查看大文件 git rev-list --objects --all | grep "$(git verify-pack -v .git/objects/pack/*.idx | sort -k 3 -n | tail -5 | awk '{print$1}')" #删除大文件或者目录 git filter-branch --force --index-filter 'git rm -rf --cached --ignore-unmatch app/…
推荐阅读:为什么你的 Git 仓库变得如此臃肿 有时候我们不小心提交了一些大文件上去,后来删除了,但是已经于事无补了,整个git的提及已经蹭蹭上去了. 这个时候怎么办呢? 1. 查看有哪些大文件(top 5) git rev-list --objects --all | grep "$(git verify-pack -v .git/objects/pack/*.idx | sort -k 3 -n | tail -5 | awk '{print$1}')" 2. git filter…
前言 最近一个版本发生产环境以后,忘了把分支切回开发分支,直接在release分支上开发新功能提交了....于是就需要去删除远程仓库的错误提交. git命令行实现 1.强制返回上次的版本(~1回退到上一次提交,~2回退到上两次提交,以此类推) git reset --hard HEAD~1 2.将本次变更强行推送至服务器:这样在服务器上就能回退到你想回退的位置. git push --force 注意 这其实是一种很危险的做法,不是必须要回退,不建议这样做!!! 原因: 1.如果在你提交以后,有…
转载自:https://cloud.tencent.com/developer/article/1010589 1.Git LFS 介绍 Git 大文件存储(Large File Storage,简称LFS)目的是更好地把大型二进制文件,比如音频文件.数据集.图像和视频等集成到 Git 的工作流中.我们知道,Git 存储二进制效率不高,因为它会压缩并存储二进制文件的所有完整版本,随着版本的不断增长以及二进制文件越来越多,这种存储方案并不是最优方案.而 LFS 处理大型二进制文件的方式是用文本指针…
问题描述 不慎在创建.gitignore  文件之前的时候将文件push到了 git仓库,即使之后在.gitignore文件中写入新的过滤规则,这些规则也不会起作用的,git依然会对所有git仓库中的文件进行管理, 首先我是用 git rm  -r 此命令去删除然后提交到git仓库,后面发现这样会将本地文件删除,并不是我想要的效果, 最终找到命令 git rm -r --cached 成功将git仓库中的 文件删除 并保留文件在本地 下面整理出删除git仓库中文件夹或文件的相关git命令 1.删…
在使用Git的过程中,我们喜欢有的文件比如日志,临时文件,编译的中间文件等不要提交到代码仓库,这时就要设置相应的忽略规则,来忽略这些文件的提交. Git 忽略文件提交的方法 有三种方法可以实现忽略Git中不想提交的文件. 在Git项目中定义 .gitignore 文件 这种方式通过在项目的某个文件夹下定义 .gitignore 文件,在该文件中定义相应的忽略规则,来管理当前文件夹下的文件的Git提交行为. .gitignore 文件是可以提交到公有仓库中,这就为该项目下的所有开发者都共享一套定义…
大文件,就是内容的大小超过了一定数量的文件,比如1个GB的文件. 站点一般会限制上传文件的大小,如果超过了一定限制,则会报错误. 在处理大文件上传的方式上,IIS代理和Kestrel宿主服务器的处理方式是不一样的. 一.Kestrel宿主服务器 解决方法如下: 第一种处理方式:在需要处理大文件的接口中使用RequestSizeLimitAttribute特性.如: /// <summary> /// 上传文件 /// </summary> [HttpPost("uploa…
一.如果要对文件进行复杂的处理,注意设置php.ini中的max_execution_time.max_input_time为足够大,如大量字符串处理urlencode等. 二.如果文件处理要占用较大内存,注意设置php.ini中的memory_limit为足够大. 前面几项如果太小一般会报php fatal error的错误 三.如果webserver为nginx,注意设置配置文件nginx.conf中的以下配置: client_max_body_size 足够大 fastcgi_connec…
错误原因: 大文件存在没有被提交的commit记录里面: 解决方案: 删除有大文件的commit记录即可 移除大文件的正确姿势 $ git rm --cached giant_file(文件名) # Stage our giant file for removal, but leave it on disk $ git commit --amend -CHEAD $ git push 解法一: 以下操作完后,相当于把本地代码回滚到远端的代码一致:的远端代码文件过大时,此种方式比从远端重新拉取方便…
就在我在ddl前续命的时候……不知道怎么想不开,把v2的压力测试的日志(500多M)也往github上传 之前听说过好多因为传了大文件的锅…… 我竟然还想不开的往上传…… 真实又傻又蠢又自闭(T T 然后百度找了各种解决办法 在我这里都不好使 又请教了各种大佬 还是不好使 心态崩了好吗…… 在我就要落泪之时我……看到了这样一篇博客! 它告诉了我这样一条语句 然后强制push 然后竟然好使了啊啊啊 嘤 拿小本本记下来 一定要找个时间再好好学学git…… 留坑x…
写在前面大家一定遇到过在使用Git时,不小心将一个很大的文件添加到库中,即使删除,记录中还是保存了这个文件.以后不管是拷贝,还是push/pull都比较麻烦.今天在上传工程到github上,发现最大只能上传100MB大小文件,在本地git库中有一个150MB文件,虽然已经删除,但还保存了记录.下面教大家如何从库中彻底删除无效大文件. 删除大文件方法很简单,就是先找到大文件对象再删除. 先提交所有更改 $ git commit -am "commit all"1对仓库进行gc操作 $ g…
记一次使用commit提交大文件无法推送到远程库解决问题过程及git rebase使用 目录 大文件无法push到远程仓库 问题 commit的大文件无法push到远程库解决办法 git filter-branch命令: git commit后的回滚 git reset --hard 丢弃最新的提交 git rebase -i 丢弃指定提交 git rebase git rebase执行失败后的退出 git rebase成功后的回退 解决这个问题并没有特别的(删除提交历史中某个文件,然后重新pu…
在我们日常使用Git的时候,一般比较小的项目,我们可能不会注意到.git 这个文件. 其实, .git文件主要用来记录每次提交的变动,当我们的项目越来越大的时候,我们发现 .git文件越来越大. 很大的可能是因为提交了大文件,如果你提交了大文件,那么即使你在之后的版本中将其删除,但是, 实际上,记录中的大文件仍然存在. 为什么呢?仔细想一想,虽然你在后面的版本中删除了大文件,但是Git是有版本倒退功能的吧,那么如果大文件不记录下来, git拿什么来给你回退呢?但是,.git文件越来越大导致的问题…
git 仓库中删除历史大文件 在git中增加了一个很大的文件,而且被保存在历史提交记录中,每次拉取代码都很大,速度很慢.而且用删除 提交历史记录的方式不是很实际. 以下分几个步骤介绍如何减小.git文件夹 1.显示10个最大的文件id列表 git verify-pack -v .git/objects/pack/pack-*.idx | sort -k 3 -g | tail -10 $ git verify-pack -v .git/objects/pack/pack-*.idx | sort…
Git仓库删除大文件 背景 当用Git久了,难免会手误或临时添加一些大文件到仓库中,即使以后添加进了.gitignore,甚至做了git rm,但是Git为了保证版本可回退,history pack里面依然会存储这些对象,这个时候我们就要为Git仓库进行瘦身. 或者不是大文件的情况,有时我们需要删除掉一些敏感信息文件,比如password.txt,即使回退也无法找到敏感文件,要实现这个要求,也要对history pack进行清理. 清理主要做如下一些事情: 寻找想要彻底清理的文件路径 查询这个文…
Reference 大家一定遇到过在使用Git时,不小心将一个很大的文件添加到库中,即使删除,记录中还是保存了这个文件.以后不管是拷贝,还是push/pull都比较麻烦. === 删除大文件方法 方法很简单,就是先找到大文件对象再删除. 先清理当前working tree. commit.stash.checkout都ok 对仓库进行gc操作 git gc 运行count-objects 查看空间使用,size-pack 是以千字节为单位表示的 packfiles 的大小. git count-…
git 仓库中删除历史大文件   git 仓库中删除历史大文件 在git中增加了一个很大的文件,而且被保存在历史提交记录中,每次拉取代码都很大,速度很慢.而且用删除 提交历史记录的方式不是很实际. 以下分几个步骤介绍如何减小.git文件夹 1.显示10个最大的文件id列表 git verify-pack -v .git/objects/pack/pack-*.idx | sort -k 3 -g | tail -10 $ git verify-pack -v .git/objects/pack/…
Git删除已提交的文件 Git删除已提交的文件 定位文件 删除文件 参考链接 昨天通过Git Bash提交代码的时候遇到了由于单个文件大小超过100M,导致代码上传失败的问题.考虑到那个大文件是用于训练模型的数据集,并没有进行版本控制的必要,为了方便以后能快速推送和拉取代码,决定设置Git忽略该文件并且从提交记录中删除它.本文记录了Git删除已提交的文件的整个过程,主要内容包括定位文件和删除文件. 定位文件 通过git rev-list命令确定需要删除的文件 git rev-list --obj…
使用gitlab搭建的git server,如果直接使用http的方式去提交的话,提交小文件不会有问题,但是提交大文件时,会出错: fatal: The remote end hung up unexpectedly. 解决办法就是使用ssh提交. windows下解决方法: 打开git bash Step1: ssh-keygen -t rsa -C "YOUREMAIL@DOMAIN.COM"#根据你的邮箱生成一个sshkey 生成成功后,在本地会保存一个私钥,然后将公钥放到git…
参考资料: An open source Git extension for versioning large files Git LFS的使用 如何使用 Git LFS 提交大文件? Git LFS 操作指南…
方法一 这里以删除 .setting 文件夹为案例 git rm -r --cached .setting #--cached不会把本地的.setting删除 git commit -m 'delete .setting dir' git push -u origin master (推到自己的分支) 方法二 如果误提交的文件夹比较多,方法一也较繁琐 直接修改.gitignore文件,将不需要的文件过滤掉,然后执行命令(全部删除,再修改.gitignore,再重新提交push) git rm -…