删除GitHub上的历史commit

简介: 1. 背景 由于之前的加水印脚本存在问题,在对同一张图片进行加水印时,会有一定的概率产生不一样md5的图片,在git提交的时候,就认为被修改了,从而被提交的github仓库中,如此反反复复,到现在已经有11个G大小了;今天把水印脚本重写了一下,解决了上述问题,所以准备给之前的垃圾提交清理了,让我的博客变成一个“新库”。

1. 背景

由于之前的加水印脚本存在问题,在对同一张图片进行加水印时,会有一定的概率产生不一样md5的图片,在git提交的时候,就认为被修改了,从而被提交的github仓库中,如此反反复复,到现在已经有11个G大小了;今天把水印脚本重写了一下,解决了上述问题,所以准备给之前的垃圾提交清理了,让我的博客变成一个“新库”。

blogSize

2. 过程

创建并切换到孤儿分支(该分支与现有分支无关,完全独立)

git checkout --orphan d4m1ts

当前文件夹下的所有内容都被默认添加到暂存区,直接commit提交即可

git commit -m "更新水印,从头做起"

删除原来的分支(默认是master,也有可能是main

git branch -D master

把当前分支重命名为主分支

 git branch -m master

强行推送到远程仓库

git push -f origin master

push成功

3. 效果

历史commit被清除

github

重新clone,也是正常大小,不携带历史commit

重新clone

4. 风险

  1. 代码丢失: 删除历史 commit 可能会导致一些代码丢失,这可能会影响到项目的完整性和可用性。
  2. 团队合作受影响: 如果多个人在同一个分支上工作,删除 commit 可能会影响到其他人的工作。如果其他人使用被删除的 commit 进行工作,他们可能会遇到错误,这可能会导致协作的停滞和沟通的困难。
  3. Git 历史记录混乱: 删除 commit 可能会导致 Git 历史记录变得混乱不清。如果您不小心删除了重要的 commit,您可能会失去对项目演变的完整历史记录。这可能会导致对项目的分支、合并和代码审查的跟踪困难。
  4. 代码库中的依赖关系受到影响: 如果项目中的其他组件依赖于被删除的 commit,删除 commit 可能会导致依赖关系的破坏。这可能会导致其他组件无法正常工作,或者可能需要花费大量的时间来修复问题。
目录
相关文章
|
存储 前端开发 Unix
Github对Git commit date操作的诸多细节,你注意到了么
我们开发人员几乎每天都要使用git commit,但你知道他对时间处理的一些细节吗?一起来了解一下吧
293 0
|
开发工具 git
【Git&GitHub - 5】:Git添加文件并提交到本地(git status、git add、git commit、git log命令的使用)
【Git&GitHub - 5】:Git添加文件并提交到本地(git status、git add、git commit、git log命令的使用)
199 0
【Git&GitHub - 5】:Git添加文件并提交到本地(git status、git add、git commit、git log命令的使用)
VsCode插件一键刷Github的commit记录-AutoCommit
autoCommit 用于刷commit记录,可以刷过去几年的commit以及未来的commit, 一键帮你把github首页的绿色格子填满。 它是一个VScode插件可以自由控制commit日期(提交过去几年的commit以及未来的commit) 它可以自由控制commit次数, 固定或者随机commit次数。 插件提供完善的日志: 清晰的了解插件的运行情况 使用效果 使用本插件来控制commit次数. 如下图,你甚至可以规划一下commit次数,然后画出图形, 天空才是你的极限。 自动commit演示: 功能特性 一键提交: 设置好参数之后,一键超快提交commit 选择
790 0
VsCode插件一键刷Github的commit记录-AutoCommit
如何抹掉 github 上的 commit 记录?(慎用)
如何抹掉 github 上的 commit 记录?(慎用)
337 0
|
Shell 开发工具 数据安全/隐私保护
curl快速下载GitHub Repo指定commit的tar.gz
有些时候需要下载GitHub仓库的tar.gz来做一些其他操作; 这时候可能最常见的就是去GitHub上找release或者tag里面有提供tar.gz的资源; 然后点击下载~~ 但是有些场景可能这种操作就不是很方便了,比如给客户打包源码的; 快速指定git的tag或者某个commit_hash , download下来 然后对于源码做一些加密什么的,再给到客户现场构建部署~; 这时候我们就会考虑以脚本来切入,以配置文件的姿势来录入一些参数, 然后快速拿到一些我们需要的资源~ 这里举一个比较单一的场景来开展这篇文章,往下看~
1435 0
|
开发工具 git
使用SAP WebIDE往Github上推送代码修改时遇到错误消息 Commit request failed Commit failed. Ref must be HEAD and is HEAD
使用SAP WebIDE往Github上推送代码修改时遇到错误消息 Commit request failed Commit failed. Ref must be HEAD and is HEAD
142 0
使用SAP WebIDE往Github上推送代码修改时遇到错误消息 Commit request failed Commit failed. Ref must be HEAD and is HEAD
|
开发工具 git Linux
github 使用“git commit -m"命令时候出现的一个小问题
git commit -m 使用问题 今天提交文件到github,步骤是: git add abc.py (abc.py是我当前随意写的一个文件名) git commit -m 'add codes for abc' git push origin 在第二步是,出现错误,错误如下: D:\te...
2067 0
|
2月前
|
SQL JavaScript 前端开发
Github 2024-08-05 开源项目周报 Top15
根据 Github Trendings 的统计,本周(2024年8月5日统计)共有15个项目上榜。以下是根据开发语言汇总的项目数量: - Go 项目:4个 - JavaScript 项目:3个 - Python 项目:3个 - Java 项目:2个 - TypeScript 项目:2个 - C 项目:1个 - Shell 项目:1个 - Dockerfile 项目:1个 - 非开发语言项目:1个
38 2
下一篇
无影云桌面