IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 开发工具 -> 【GIT】git gc 真的清理掉了垃圾对象吗? -> 正文阅读

[开发工具]【GIT】git gc 真的清理掉了垃圾对象吗?

了解Java的同学应该听过GC这个词 ? garbage clean,没错清理垃圾对象~

首先我们先确定下在git中,垃圾对象是怎么产生的?

主要有两个途径:

  1. 由于多余的add

  2. 已删除的分支

那么,git gc真的是像Java一样把git中产生的垃圾对象清除掉了吗---·?

下面用一个测试来瞅下

(嘿嘿》〉着急看结论的同学可以直接滑到文末~)

  • 新建一个名为aqin-branch(名字自己随意~)的分支

    • git checkout -b aqin-branch

  • 新建一个文本文件aqin.txt

    • echo "da">aqin.txt
  • 将文件添加进索引区

    • git add aqin.txt

  • 对文档进行修改,再次添加索引区

    • echo "heheheda">aqin.txt
      git add aqin.txt

?此时的3b2b1a对象其实就是一个垃圾对象(其实就是没用的对象),因为aqin.txt这个文件在后commit前已经被修改过并再次add了,是不会被commit的,我们只会直接commit后面最新修改过的对象

  • 提交到本地仓库

    • git commit -m "test"

新增的这两个对象分别是tree和commit

  • 删除新建分支(测试删除分支不会删掉只在该分支的commit过的对象)

  • 直接删除会报错

  • 报错原因:??无法删除当前正处于的分支,如删除当前分支则需要先换到别的分支上(如master,就像你不能拆掉你现在站的那层楼梯,只能先下一层或者上一层)

  • 新建一个分支test,然后切换到新分支后再次删除分支aqin-branch

  • 而此时,objects文件夹下的内容并未发生变化

  • 故??删除分支不会删掉只在该分支的commit过的对象

  • 使用git gc的效果

  • 再次查看objects文件夹

    • 变化:

      • 之前4个对象变成了一个对象(这个对象就是第一次add后生成的那个3b2b1a,即垃圾对象)

      • pack文件夹里新增加了2个文件(一个.idx索引文件,一个pack压缩文件)

    • 总结:

      • 通过git gc无法把垃圾对象删除掉,只会把有用的对象pack进pack文件夹

🎉🎉🎉~

-·-·-> 下篇记录如何真正删除垃圾对象哈~

  开发工具 最新文章
Postman接口测试之Mock快速入门
ASCII码空格替换查表_最全ASCII码对照表0-2
如何使用 ssh 建立 socks 代理
Typora配合PicGo阿里云图床配置
SoapUI、Jmeter、Postman三种接口测试工具的
github用相对路径显示图片_GitHub 中 readm
Windows编译g2o及其g2o viewer
解决jupyter notebook无法连接/ jupyter连接
Git恢复到之前版本
VScode常用快捷键
上一篇文章      下一篇文章      查看所有文章
加:2022-04-04 12:31:11  更:2022-04-04 12:31:33 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/26 5:56:14-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码