记一次使用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 仓库会变得十分臃肿. 解决办法 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如何删除远程仓库的某次错误提交 如果远程仓库,能ssh访问,那就跟本地没什么区别   reset命令有3种方式   git reset --mixed 此为默认方式,不带任何参数的git reset,就是这种方式,它回退到某个版本,只保留源码,回退commit和stage信息   git reset --soft 回退到某个版本, 只回退了commit的信息,不会恢复stage(如果还要提交,直接commit即可)   git reset --hard      彻底回退到某个版本, 本地…
早上小伙伴告诉我,他无法拉下代码,我没有在意.在我开始写代码的时候,发现我的 C 盘炸了.因为我的磁盘是苏菲只有 256G 放了代码就没空间了,于是我查找到了原来是我的代码占用了居然有 2000+M ,寻找了很久才发现,原来我小伙伴JAKE传了一个压缩包上去,一个1G的包. 那么如何把这个压缩包彻底从 git 删除? 如果需要删除 git 的历史记录,使用方法很简单,请看 Git如何永久删除文件(包括历史记录) - shines77 - 博客园 .当然这个方法需要很长时间,因为提交大文件的时间不…
git push报错: github不能上传大文件,按道理删掉重新提交就行了 可是删掉后,git add -A,再git commit,再git push,依然报错 后来我想明白了 github上传时候,其实不止是push当前版本,还要push所有历史版本,如果之前某次commit没有上传,那么这个历史版本也要默认push 为此,解决办法: 1,用git cherry命令查看所有commit但没push的历史版本 2,再用git reset [版本id]命令撤销之前的版本 值得注意的是git r…
错误原因: 大文件存在没有被提交的commit记录里面: 解决方案: 删除有大文件的commit记录即可 移除大文件的正确姿势 $ git rm --cached giant_file(文件名) # Stage our giant file for removal, but leave it on disk $ git commit --amend -CHEAD $ git push 解法一: 以下操作完后,相当于把本地代码回滚到远端的代码一致:的远端代码文件过大时,此种方式比从远端重新拉取方便…
写在前面大家一定遇到过在使用Git时,不小心将一个很大的文件添加到库中,即使删除,记录中还是保存了这个文件.以后不管是拷贝,还是push/pull都比较麻烦.今天在上传工程到github上,发现最大只能上传100MB大小文件,在本地git库中有一个150MB文件,虽然已经删除,但还保存了记录.下面教大家如何从库中彻底删除无效大文件. 删除大文件方法很简单,就是先找到大文件对象再删除. 先提交所有更改 $ git commit -am "commit all"1对仓库进行gc操作 $ g…
Reference 大家一定遇到过在使用Git时,不小心将一个很大的文件添加到库中,即使删除,记录中还是保存了这个文件.以后不管是拷贝,还是push/pull都比较麻烦. === 删除大文件方法 方法很简单,就是先找到大文件对象再删除. 先清理当前working tree. commit.stash.checkout都ok 对仓库进行gc操作 git gc 运行count-objects 查看空间使用,size-pack 是以千字节为单位表示的 packfiles 的大小. git count-…
删除git某个文件的所有历史记录 git的目的就是版本控制,记录每一个版本的变动.然而有的时候我们往往希望从版本库中彻底删除某个文件,不再显示在历史记录中.例如不小心上传了一堆错误的文件,或者不小心上传了帐号.密码,那么这个时候怎么办呢?下面的命令可以完美解决你的问题 $ git filter-branch -f --tree-filter 'rm -rf common/service/SyncBlogServince.php' HEAD $ git push origin --force 批量…