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);

参考资料:

最新文章

  1. touchstart、touchmove、touchend 实现移动端上的触屏拖拽
  2. jquery删除添加输入文本框
  3. 利用BeautifulSoup抓取新浪网页新闻的内容
  4. .NET Core)的ZooKeeper异步客户端
  5. 可能 delphi7 下稳定的最后一版本 GDIPLUS
  6. C++11对象构造的改良
  7. CHARINDEX,PATINDEX,STUFF函数
  8. Android之 学习路线
  9. 实现推送功能APP端需要完成的工作
  10. Linux&shell 之Linux文件权限
  11. .net转php laraval框架学习系列(一) 环境搭建
  12. HDU_2026——将单词的首字母变大写
  13. LINQ的Any() 方法
  14. SQL基本查询_多表查询(实验三)
  15. js中定义对象的几种方式
  16. 解决laravel Class 'Doctrine\DBAL\Driver\PDOMySql\Driver' not found 错误
  17. Error: Unable to access xxx.jar
  18. Thread线程join方法自我理解
  19. Android Day2
  20. vue table中使用多选的问题(翻页后如何保存已选项),联动echarts图表实现流量监控

热门文章

  1. oracle中LAG()和LEAD()以及over (PARTITION BY)
  2. [转]JVM运行时内存结构
  3. cesium可视化空间数据1
  4. windows,cmd中进行盘符的切换
  5. RF-template使用
  6. vertical-align负值和margin-bottom负值的区别
  7. 当inline-block或者float失效的时候怎么弄
  8. Visual Studio 2013 如何在停止调试Web程序后阻止IIS Express关闭
  9. HTML基础做出属于自己的完美网页
  10. OpenLayers基础知识: