Git 删除已经提交的文件(Delete commits from a branch in Git)

运用场景

我提交了一个文件到github 的服务器上,并且已经点击了commit, 这个时候,因为文件最大不能超过100MB 所以在push 的时候出现了错误。

所以当我们误提交一个文件的时候,我们这个时候点击了commit的话,我们不想白白的占用我们自己的云端存储空间,需要把这个版本删除。而且如果就算你提交了新的版本,如果这个版本在push 的时候出现错误的时候,我们也需要把错误的版本删除,才能保证后续的操作。



具体方法

这个时候我们可以时候的命令如下所示:

git  reset  --hard HEAD~N

这里的N表示你要回退到的地方,也就是倒数第几次的提交

我们怎么确定我们要回退到哪一步,我们可以使用git log 还有 git status 两个命令一起查看一下。

我们来看一下我自己的例子

这里写图片描述

由于我之前提交的一个文件夹了里面的文件太大了,一直不能 发布我本地的提交到我的服务器上,这个时候我一直傻逼的把本地的 运用 git rm -r filename/ 来 删除,这个时候删除的是本地的存储,其实这个提交了,也就是commit 了,其实已经占用了远程服务器的存储空间了,我们用 rm 命令是删除不掉的。这个时候我们就是把我们的版本都取出来,删除就好,重新提交正确的版本上去。

我的错误如下:

Git 删除已经提交的文件(Delete commits from a branch in Git)_第1张图片

我们使用 git log 来看看我们不同于 origin,也就是服务器现在状态的情况,如下图所示:

Git 删除已经提交的文件(Delete commits from a branch in Git)_第2张图片

我们刚才看到不一致的是领先了5 个版本,所以我们要使用我们刚刚介绍的命令来处理一下

我们先回退4个试试,
这里写图片描述

我们可以看到,如上图这样的显示。

这个时候我们在看一个 status
这里写图片描述

还是领先了一个版本,我们在退到push 最后一次的情况
这里写图片描述

它这个操作其实会把你之前提取的错误的文件全部都给你download 到本地的,如果你不要的话,这个时候删除上传到本地即可。

这个说明了写 commit 的说明信息是多么的重要,你的代码要取那个版本,就取那个版本,方便你自己读取和选取,管理自己的代码。

今天的这个内容就讲解到这里了,不知道你们学会没有了呢?






Git 删除已经提交的文件(Delete commits from a branch in Git)_第3张图片

Git 删除已经提交的文件(Delete commits from a branch in Git)_第4张图片

大家晚安啦么么,喜欢我的文章可以打赏一下,开心就好

Git 删除已经提交的文件(Delete commits from a branch in Git)_第5张图片

你可能感兴趣的:(【收录集】)