`
lynen
  • 浏览: 125091 次
  • 性别: Icon_minigender_2
  • 来自: 杭州
社区版块
存档分类
最新评论

Git学习笔记(1):基础概念

    博客分类:
  • git
 
阅读更多

Git Community Book中文本的内容地址:

http://gitbook.liuhui998.com/index.html

 

1.Git常用命令行

git show命令来查看一个blob对象里的内容

git show -s --pretty=raw 2be7fcb476

可以用 --pretty=raw 参数来配合 git show 或 git log 去查看某个提交(commit):

用 git cat-file 命令来查看这些tag信息:

 git status命令, 就可以看到: 哪些文件被暂存了(就是在你的Git索引中), 哪些文件被修改了但是没有暂存, 还有哪些文件没有被跟踪(untracked).

 gitk   可以用来查看超级无敌好看的图形信息

 

2.Git的对象模型

每个对象(object) 包括三个部分:类型大小内容。大小就是指内容的大小,内容取决于对象的类型,有四种类型的对象:"blob"、"tree"、 "commit" 和"tag"。

  • “blob”用来存储文件数据,通常是一个文件。
  • “tree”有点像一个目录,它管理一些“tree”或是 “blob”(就像文件和子目录)
  • 一个“commit”只指向一个"tree",它用来标记项目某一个特定时间点的状态。它包括一些关于时间点的元数据,如时间戳、最近一次提交的作者、指向上次提交(commits)的指针等等。
  • 一个“tag”是来标记某一个提交(commit) 的方法。
  • Blob对象
  •   一个blob通常用来存储文件的内容.

  • Tree对象
  • 一个tree对象有一串(bunch)指向blob对象或是其它tree对象的指针,它一般用来表示内容之间的目录层次关系。


  •  
  • Commit对象
  • "commit对象"指向一个"tree对象", 并且带有相关的描述信息.


  •  父对象 (parent(s)): 提交(commit)的SHA1签名代表着当前提交前一步的项目历史. 合并的提交(merge commits)可能会有不只一个父对象. 如果一个提交没有父对象, 那么我们就叫它“根提交"(root commit), 它就代表着项目最初的一个版本(revision). 每个项目必须有至少有
  • 提交(commit)到一个Git仓库中, 在Git中它们也许看起来就如下图:


  •  
  • Tag对象

一个标签对象包括一个对象名(译者注:就是SHA1签名), 对象类型, 标签名, 标签创建人的名字("tagger"), 还有一条可能包含有签名(signature)的消息. 你可以用 git cat-file 命令来查看这些信息:

  

 

  • 大小: 15.5 KB
  • 大小: 16.1 KB
  • 大小: 20.4 KB
  • 大小: 81.7 KB
  • 大小: 14.7 KB
分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics