Git 进阶之底层相关
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);
 

参考资料:
Git 进阶之底层相关的更多相关文章
- git plumbing 更加底层命令解析-深入理解GIT
		原文: http://rypress.com/tutorials/git/plumbing 本文详细介绍GIT Plumbing--更加底层的git命令,你将会对git在内部是如何管理和呈现一个项目r ... 
- Git 进阶指南(git ssh keys / reset / rebase / alias / tag / submodule )
		在掌握了基础的 Git 使用 之后,可能会遇到一些常见的问题.以下是猫哥筛选总结的部分常见问题,分享给各位朋友,掌握了这些问题的中的要点之后,git 进阶也就完成了,它包含以下部分: 如何修改 ori ... 
- Git 进阶指南
		转自: https://github.com/kaiye/kaiye.github.com/issues/7 在掌握了基础的 Git 使用 之后,可能会遇到一些问题.以下是猫哥筛选总结的部分常见问题, ... 
- 从0开始学习 GITHUB 系列之「GIT 进阶」【转】
		本文转载自:http://stormzhang.com/github/2016/06/16/learn-github-from-zero5/ 版权声明:本文为 stormzhang 原创文章,可以随意 ... 
- 从0开始学习 GitHub 系列之「05.Git 进阶」
		关于 Git 相信大家看了之前一系列的文章已经初步会使用了, 但是关于Git还有很多知识与技巧是你不知道的,今天就来给大家介绍下一些 Git 进阶的知识. 1. 用户名和邮箱 我们知道我们进行的每一次 ... 
- Git进阶:常用命令和问题案例整理
		一.前言 整理常用git命令和以及在实际使用的过程中碰到的问题案例,旨在git进阶,提升工作开发效率,有需要补充的小伙伴欢迎下方留言,本篇持续更新中... 二.命令 配置用户名和邮箱 git conf ... 
- 25个 Git 进阶技巧
		[ 原文] http://www.open-open.com/lib/view/open1431331496857.html 我已经使用git差不多18个月了,觉得自己对它应该已经非常了解.然后来自G ... 
- git版本管理策略及相关技巧(A)
		公司几乎所有的项目都是使用 git 仓库来管理代码,以前对 git 只有些肤浅的了解,每次提交代码或者上线的时候总是会提心吊胆,生怕出现一些未知的问题.经过三个月的踩坑和填坑, git 操作颇显成熟. ... 
- Git进阶用法
		Git高阶用法 1. 基本概念 你的本地仓库由Git维护的三棵树组成.第一个是你的工作目录,它持有实际文件:第二个是缓存区(Index),它像个缓存区域,临时保存您的改动:最后是HEAD,指向你最近一 ... 
随机推荐
- CentOS7设置开机自启动命令大全
			任务 旧指令 新指令 使某服务自动启动 chkconfig --level 3 httpd on systemctl enable httpd.service 使某服务不自 ... 
- 【Java面试题】1 Java中使用switch-case的用法及注意事项超全总结
			今天在用到switch的时候,这种设计到最基本的内容,可能忘记它的一些基本语法,出现了一些错误,所以即兴从各种资料查询总结了下面的内容,希望可以帮助那些正在困扰switch错误和各种细节问题的朋友! ... 
- android基站定位程序获取地理位置
			目录 一.设置界面 二.为按钮绑定事件 三.获取基站信息 四.获取经纬度 五.获取物理位置 六.显示结果 七.运行程序 八.总结 九.程序代码 正文 在Android操作系统下,基站定位其实很简单,先 ... 
- mysql中/*!40000 DROP DATABASE IF EXISTS `top_server`*/;这中注释有什么作用?
			需求描述: 今天在进行mysqldump实验,使用--add-drop-databases参数,于是在生成的SQL文件中,就出现了. /*!40000 DROP DATABASE IF EXISTS ... 
- 而桌面app向来是web前端开发开发人员下意识的避开方
			web前端语言的发展有目共睹, 从原来的pc web, 到后来的mobile SAP, 再到 nodejs,全站工程师应运而生. js快速而且稳健的发展让人不得不重视, 相应的前端开发人员的地位也越来 ... 
- mac 环境配置
			安装homebrew 用于安装各种软件 eg:brew search qq 查看qq安装目录 brew install 复制刚刚查看到的目录安装qq 安装 oh my zsh 自动补全目录跳转 1.安 ... 
- 关于直播学习笔记-005 nginx-rtmp、sewiseplayer
			1.视频采集推流及服务器端:nginx-rtmp-windows 2.视频播放段:sewiseplayer 3.双击nginx.exe运行nginx-rtmp-win32-master的nginx服务 ... 
- GIS-013-Cesium Terrain 数据生成
			一.Python 1.修改Python脚本文件 if __name__=='__main__': #sys.argv = ['F:\\000_Terrain\\T7-gdal2srtmtiles-de ... 
- php导出excel(xls或xlsx)(解决长数字显示问题)
			1)demo $titles = array('订单号','商品结算码','合同号','供应商名称','专柜','商品名称','商品货号','商品单价','商品总价','供应商结算金额','商品数量' ... 
- 连接oracle服务器超慢--原因分析
			连接oracle服务器超慢:有如下原因可能会影响. 网络不好:oracle服务器跟本地网络不好. oracle服务器内存不足:导致反应超慢 监听日志listener.log太大:导致响应超慢. 所以对 ... 
