当前位置: 首页 > news >正文

Git研究

以下命令在CentOS系统下执行

创建Git仓库

git init git-example

监控.git目录的变化情况:

watch -n .5 tree .git

写入文件内容,并把文件添加到Stage暂存区

echo 1 > t.txtgit add 1.txt

观察结果如下:objects下多出了一个d00491fd7e5bb6fa28c517a0bb32b8b506539d4d的对象

git cat-file -p d00491fd7e5bb6fa28c517a0bb32b8b506539d4d  查看对象的内容为1

git cat-file -t d00491fd7e5bb6fa28c517a0bb32b8b506539d4d 查看对象的类型为blob

知识点:Git的Objects对象的名称d00491fd7e5bb6fa28c517a0bb32b8b506539d4d计算方式是SHA1(<对象类型> <内容长度>\0<原始内容>)

SHA1(blob 2\01) 注意:在C语言中,\0用于标记字符串的结束。(不是\0字符本身,需使用printf输出\0空字符

(printf "blob 2\0"; echo "1") | sha1sum

计算SHA1便捷指令:

(printf "blob %d\0" $(wc -c < 1.txt); cat 1.txt) | sha1sum

提交Commit文件,查看Objects变化(多了2个Object,一个tree,一个commit)

git commit -m "first commit"

Tree对象的内容:

Commit对象的内容:

最后查看 master 分支的 head 指向,可以看到指向了最新提交对应 commit object 的 key

cat .git/refs/heads/master

相关文章:

  • 【音频】drc 限幅器、多带限幅器、压缩器、多带压缩器
  • 智能合约:开启数字经济新时代的“魔法契约”
  • AI Agent开发第74课-解构AI伪需求的魔幻现实主义
  • C语言创意编程:用趣味实例玩转基础语法(1)
  • 爬虫实战之爬微博图片:xpath的具体运用
  • 全球化 2.0 | 云轴科技ZStack助力中东智慧城市高性能智能安防云平台
  • AI 笔记 - 模型优化 - 注意力机制在目标检测上的使用
  • SDL2常用函数:SDL_Texture 数据结构及使用介绍
  • CodeBuddy实现pdf批量加密
  • 1、初识YOLO:目标检测的闪电战
  • 神经算子项目实战:数据分析、可视化与实现全过程
  • Spring框架--IOC技术
  • vc++在Windows中查找扬声器输出的当前音量级别
  • 理解 Redis 事务-20 (MULTI、EXEC、DISCARD)
  • C++ 反向迭代器(Reverse Iterator)实现详解
  • PyQt5高效布局指南:QTabWidget与QStackedWidget实战解析
  • Spark 中,创建 DataFrame 的方式(Scala语言)
  • Cesium中根据不同条件设置3D Tiles样式
  • 从零开始建立个人品牌并验证定位变现性的方法论——基于开源AI大模型、AI智能名片与S2B2C商城生态的实证研究
  • Github 2025-05-24 Rust开源项目日报 Top10
  • 去哪里做网站比较好/高端网站建设的公司
  • 学校网站建设用哪个系统/健康码防疫核验一体机
  • 阜阳网站建设价格低/做公司网页
  • 沙朗镇做网站公司/网站源码下载
  • 常宁网站建设/搜索引擎优化排名技巧
  • 深圳建设网站过程/服装店营销策划方案