Git is a content-addressable filesystem.

1. Plumbing 和 Porcelain

  • "Plumbing commands": Git 底层的操作;
  • "Porcelain commands": Git 封装的操作,例如 checkout,branch,remote等;

2. Git 文件结构

  • git init: 在当前文件夹,创建.git目录;
  • "config": 当前项目的配置选项;
  • "info": 配置着在.gitignore中排除的文件内容;
  • "hooks": 包含客户端和服务端的hook;
  • 最重要的四个实体:
    • "objects": 存储着Git仓库的所有内容;
    • "refs": 指向已提交内容的指针(branches,tags,remotes and more);
    • "HEAD": 当前指向的分支;
    • "index"(待创建): 存储staging区域中的内容;

2.1 Objects

  • Tree Objects: 树类似于UNIX系统中的目录,Blob类似于文件;
  • Blob 文件的类型:
    • "100644": 表示正常的文件;
    • "100755": 表示为可执行文件;
    • "120000": 符号链接(symbolic link);

参考资料:

  • Pro Git

转载于:https://www.cnblogs.com/linkworld/p/9462229.html

Git 进阶之底层相关相关推荐

  1. git进阶 | 01 - git基础操作进阶

    引言 上次写git入门教程还是2019年(Git & Github学习总结),三年期间使用最多的命令不过三条: git add -A git commit -m "" gi ...

  2. 从0开始学习 GitHub 系列之「05.Git 进阶」----转载自stormzhang 原创文章

    关于 Git 相信大家看了之前一系列的文章已经初步会使用了, 但是关于Git还有很多知识与技巧是你不知道的,今天就来给大家介绍下一些 Git 进阶的知识. 1. 用户名和邮箱 我们知道我们进行的每一次 ...

  3. Git进阶(五):git 分支管理策略

    文章目录 一.企业级项目分支策略 1.1 主分支 master 1.2 开发分支 develop 1.3 功能分支 feature 1.4 预发布分支 release 1.5 bug 分支 fixbu ...

  4. Git(6)-Git配置文件、底层操作命令

    Git基本命令 1. 常用(迷糊)命令-冷知识 2. git 配置 2.1 设置 配置文件 2.2 查看 配置文件--git config -l 2.3 移除 配置文件设置--unset 2.3 命令 ...

  5. Git 存储原理及相关实现

    Git 是目前最流行的版本控制系统,从本地开发到生产部署,我们每天都在使用 Git 进行我们的版本控制,除了日常使用的命令之外,如果想要对 Git 有更深一步的了解,那么研究下 Git 的底层存储原理 ...

  6. Redis进阶-List底层数据结构精讲

    文章目录 Pre list 列表 队列 O(1) 栈 O(1) 查询 O(n) 快速列表 quicklist 压缩列表 ziplist ziplist 源码 entry 增加元素 快速列表 quick ...

  7. git分支(branch)操作相关命令

    分支(branch)操作相关命令 查看本地分支:$ git branch 查看远程分支:$ git branch -r 创建本地分支:$ git branch [name] ----注意新分支创建后不 ...

  8. Git - 学习/实践 - 以及相关操作

    1.环境 win10 64位 专业版 默认, 已安装git.[git bash]所有操作均在git bash 中. 2.使用 1. 文档阅读/查阅 https://git-scm.com/docsht ...

  9. git 进阶系列教程-------git使用流程

    GIT使用流程 前言 初衷 git是一门很容易入门的项目管理工具,但是它是一门很难精通的技术. git pull/git add ./git commit -m "message" ...

最新文章

  1. C++中数组的赋值方法
  2. 算法-二叉树中的最大路径和
  3. Docker学习笔记之二,基于Dockerfile搭建JAVA Tomcat运行环境
  4. 端到端的超媒体REST API设计
  5. Xshell怎么把界面信息(终端信息)输出到log(打印到文本文件)
  6. 关于Adium近期无法添加MSN联系人的说明
  7. 深度优先遍历算法-03二叉树路径遍历问题
  8. JAVA Java多线程与并发库
  9. C语言_顺序结构的程序设计
  10. 时序数据库 VS 工业实时数据库
  11. 宝塔面板安装和使用教程(详细)
  12. WS2812B全彩LED驱动
  13. 第十二届蓝桥杯时间显示问题 python解法
  14. 论文摘要翻译,多语言纯人工翻译
  15. 【opencv】颜色空间总结
  16. 无线网460王者荣耀服务器,王者荣耀460ms解决方法:王者荣耀网速460ms怎么办?...
  17. 如何使用ArcGIS制作真实的植被
  18. Spark复习大纲,有需要的小伙伴可以点个赞找我私信
  19. VI的简单配置及配置文件集锦 z
  20. Python生成二维码脚本

热门文章

  1. 从事嵌入式开发需要掌握哪些知识?从事嵌入式软件开发的前景如何?
  2. GetMemeory(char *p);GetMemeory(char **p);char* GetMemeory()用法!
  3. Linux内核的整体架构介绍
  4. 常考数据结构与算法:异或操作
  5. jsp里面不能使用${pageContext.request.contextPath}解决方案
  6. matlab练习程序(简单图像融合)
  7. configure.ac:64: error: possibly undefined macro: AM_ICONV
  8. 自然语言交流系统 phxnet团队 创新实训 个人博客 (二)
  9. 【VBA编程】15.WorkSheet对象常用属性
  10. java Interface