在git使用时不小心commit了大文件,如何删除commit中的大文件记录

这篇具有很好参考价值的文章主要介绍了在git使用时不小心commit了大文件,如何删除commit中的大文件记录。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

经常会因为在git使用时不小心commit了大文件,如何删除commit中的大文件记录

问题背景:由于许多人在使用git命令的时候,习惯于使用 git add . 添加所有更改的命令,这个习惯会导致在进行git 进行push的时候,由于无意间提交commit缓存的大文件,阻止正常的push 从而很难解决,本文为了解决这问题,有以下小经验(文章广泛参考了其他帖子)

如果你也因为在github push文件的时候遇到“this exceeds GitHub’s file size limit of 100.00 MB”而苦恼,请使用本文中的方法解决问题:

  1. 首先,我们需要找到是哪些文件在作祟:
    使用下面的命令,帮你找出top10 在git提交中的巨大文件,并且显示其相关信息(位置信息最为重要)

    git rev-list --all | xargs -rL1 git ls-tree -r --long | sort -uk3 | sort -rnk4 |        head -10
    
  2. 找到文件之后,请用下面的命令进行移除制定文件目录下的大文件,并且重写当前分支内容(请替换下面命令中的{xxx}作为你上面显示的,并且你想要移除的某一个大文件):

    git filter-branch --force --index-filter 'git rm -r --cached --ignore-unmatch {xxx}' --prune-empty --tag-name-filter cat -- --all
    
  3. 注意,如果你在运行上面指令的时候,出现了“Cannot rewrite branches: You have unstaged changes”这样的bug,请按照下面的方法来解决:

    git stash
    
  4. 下面,请继续执行步骤2中的命令,注意请连括号一起替换了,这里不需要任何引号或者括号,直接输入路径就好,按照2所示,把所有大文件都移除掉之后,应该就可以重新进行push了。

respect!!!文章来源地址https://www.toymoban.com/news/detail-577180.html

到了这里,关于在git使用时不小心commit了大文件,如何删除commit中的大文件记录的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • Git解决方案 如何还原不小心merge的本地文件

    在上传修改时不小心merge了该分支,因为在较老版本上修改,导致本地文件merge后发生大量冲突。 在文件夹处右键 Git Bash Here 输入 git reflog ,找到希望回退的操作,记录对应的版本号,如: 33cabd3 输入 git reset --hard 版本号 ,即可将本地文件还原,如 git reset --hard 33cabd3

    2024年02月11日
    浏览(49)
  • git 常用基本命令, reset 回退撤销commit,解决gitignore无效,忽略记录或未记录远程仓库的文件,删除远程仓库文件

    https://blog.csdn.net/a704397849/article/details/135220091 idea 中 rest 撤销commit过程如下: Git - Rest Head… 在To Commit中的HEAD后面加上^,点击Reset即可撤回最近一次的尚未push的commit Reset Type 有三种: Mixed(默认方式),保留本地源码,回退 commit 和 index 信息,最常用的方式 Soft 回退到某个版

    2024年02月02日
    浏览(65)
  • u盘资料不小心删除如何找回

    U盘作为一个便携式存储设备,越来越多人使用它来存储重要的资料。虽然U盘的数据安全性很高,但是由于各种原因,U盘里的数据有可能会被误删除。这时,许多人会感到手足无措,不知道该怎么办。如果你也遇到了这种情况,不要慌张,下面我们就来讲一讲 U盘资料不小心

    2024年02月08日
    浏览(48)
  • git仓库体积过大,如何减小?git仓库体积压缩,使用git-filter-repo删除历史大文件

    如果我们在使用的过程中不小心将较大的二进制文件加入到仓库中,那么随着我们提交次数的增多仓库的体积将会不断的膨胀,例如我在项目中每次都会编译出一些so库文件,但是我并没有忽略这些文件,每次都会提交,随着时间的推移仓库体积不断膨胀,将不能再推送到远

    2024年02月16日
    浏览(40)
  • git删除指定commit

    git log  二、找到被删除的commit的下一个commit,执行 git rebase -i commitId 例: 删除 a0db3, 则执行 git rebase -i 89d65,回车 三、保存修改 按 Esc 退出编辑模式,按 Shift + ‘;’ ,输入 !wq( 保存文件并退出) 四、验证 git log 查看 commitID a0db3 是否删除

    2024年02月15日
    浏览(47)
  • 删除误提交的 git commit

    某次的意外 commit 中误将密码写到代码中并且 push 到了 remote repo 里面, 本文将围绕这个场景讨论如何弥补. 在 Gitee 创建一个新的 Repo, clone 到本地 创建两个文件, commit 后 push 到 remote 作为初始提交 在 Gitee 检查提交成功: 分别修改两个文件, 模拟 A.txt 中误写入了敏感信息, B.txt 属

    2024年02月04日
    浏览(49)
  • Git修改与删除commit记录

    1、修改最近一次commit的信息 直接修改即可。 2、修改之前的commit的信息 其中 2 代表两条,进入VIM后按 i 或 o 之后将 pick 改为 edit ,在 ESC 后按 :wq 保存即可。 1、删除push到远程服务器的最近commit 2、git rebase删除push到远程服务器的某些commit 该命令执行时极有可能出现 reabase 冲

    2024年02月04日
    浏览(33)
  • IDEA中使用git如何撤回commit的代码

    在开发过程中,有时候提交代码会发现提交的代码中有不应该提交的部分,比如说有时候不需要我们提交本地的配置文件,这个时候就需要我们撤销已提交的内容重新提交 这个命令会创建一个新的 commit,将指定的 commit 撤销掉。新的 commit 会保留先前提交的历史记录,并且会根据

    2024年02月11日
    浏览(45)
  • git删除已push的commit记录

    问题: 1, commit注释写错 2, 发版时,只允许有一条commit记录,但代码还push到远程了 3, 没拉最新代码,提交后合并代码时有冲突 操作步骤: 提交历史如图: 代码变更记录如图: git log 查出历史提交记录,找到需要删除的那条记录的上一个的commit-ID: 比如我要删除第二次和第三次

    2024年02月08日
    浏览(84)
  • git 删除某一次的提交(commit)

    突然有同学问怎么删除指定的提交,其他的保持不变。 大致的意思就是我先提交的是a,又提交了b,c是我最近的一次提交。然后项目变动,b的这次改动不需要提交了,怎么把b的这次commit去掉,还不影响c。百度即可得到想要的答案。 下面我总结起来,以备不时之需。 最主要

    2024年02月03日
    浏览(63)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包