首页 > 其他分享 >删除GitHub上的历史commit

删除GitHub上的历史commit

时间:2023-05-07 10:12:12浏览次数:53  
标签:GitHub 删除 可能 git master commit 分支

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 可能会导致依赖关系的破坏。这可能会导致其他组件无法正常工作,或者可能需要花费大量的时间来修复问题。

标签:GitHub,删除,可能,git,master,commit,分支
From: https://www.cnblogs.com/initsec/p/17378925.html

相关文章

  • MongoDB中缩减Shard集群(删除一个Shard)--删除一个分片
    关键字:MongoDB中缩减Shard集群(删除一个Shard)--删除一个分片对MongoDB的Shard集群来说,添加一个分片很简单,AddShard就可以了。但是缩减集群(删除分片)这种一般很少用到。由于某服务器挂了,所以想送修之前必须把它上面的数据自动迁移到其他Shard上。以下......
  • 01 磁盘分区创建删除及逻辑卷挂载
    磁盘分区删除、创建及逻辑卷挂载磁盘分区查看使用lsblk命令查看当前磁盘分区情况[root@localhost~]#lsblkNAMEMAJ:MINRMSIZEROTYPEMOUNTPOINTSsda8:00447.1G0disk└─sda18:10447.1G0partsdb8:160......
  • zabbix通过api方式批量创建和删除主机
    zabbix库连接信息,文件名为Conn.pyimportpymysql"""获取后台数据库连接"""defCON():con=pymysql.connect(host='rm-xxx.xxxxx.rds.aliyuncs.com',user='xxx',password='xxxx',db=�......
  • django的web项目中重定向页面时的部分信息传输——以删除含有分页的列表记录为例
    问题:在管理系统界面往往是有分页的,初次编写列表的删除功能时很可能会出现删完之后页面跳转到第一页的问题,或者筛选完之后删除某一项结果删完之后跳转到未筛选页面。与实际分页管理的效果大庭相径。解决思路:1.起初只遇到了分页的情况,解决方法很简单,在删除按钮的href中直接传值,例......
  • ABP CORE+EF 批量删除、修改
    //物理删除()//awaitthis.Repository.GetAll().Where(p=>input.Ids.Contains(p.Id)).BatchDeleteAsync();//逻辑删除,批量修改删除字段awaitthis.Repository.GetAll().Where(p=>input.Ids.Contains(p.Id)).BatchUpdateAsync(p=>newShop......
  • canal数据库数据备份时,不同步删除分区动作。
        场景:我们有一大批业务数据,为减少数据库压力和提高使用效率,需要周期性的清理历史分区数据。但是这些数据并不是代表不要了。需要在另一个地方保存 传统数据库的主从复制功能,主要强调的是可以互为备份,强调高可用和可读写分离。但是在我们这个场景下并不适用......
  • MySQL----索引的创建、删除和查看
    1.索引作用  在索引列上,除了上面提到的有序查找之外,数据库利用各种各样的快速定位技术,能够大大提高查询效率。特别是当数据量非常大,查询涉及多个表时,使用索引往往能使查询速度加快成千上万倍。  例如,有3个未索引的表t1、t2、t3,分别只包含列c1、c2、c3,每个表分别含有1000行数据......
  • 掌握这些GitHub搜索技巧,你的开发效率将翻倍!
    作为开发it行业一员,学习借鉴他人项目是很有必要的,所以我们一般都会从github或者Gitee上面去参考借鉴他人的项目来学习增加自己的项目经验但是github你真的用对了嘛,他的功能其实很强大!!!githu项目搜索关键字搜索在Github搜索栏中输入与您感兴趣的技术相关的关键词,例如“machine......
  • oracle中用户删除不了,ORA-01940提示 “无法删除当前已连接用户”
    Oracle删除用户的提示无法删除当前已连接用户两种解决方法如下:1、先锁定用户、然后查询进程号,最后删除对应的进程、在删除对应的用户SQLalteruserXXXaccountlock;SQLSELECT*FROMV$SESSIONWHEREUSERNAME='LGDB';Oracle删除用户的提示无法删除当前已连接用户两种解决......
  • MySQL查出所有的主外键关系、级联关系,并记录起来,删除所有的外键关系,根据记录重新建立
    查出所有的主外键关系并记录起来可以通过查询information_schema数据库中的REFERENTIAL_CONSTRAINTS表来获取所有的主外键关系。以下是查询语句:`SELECTK.CONSTRAINT_NAME,--外键约束名K.TABLE_NAME,--子表外键所在表名K.COLUMN_NAME,--外键所在列名......