Git使用40个16进制字符的SHA-1 Hash来唯一标识对象

Git的四种基本对象类型,组成了Git更高级的数据结构:

blobs:      每个blob代表一个(版本的)文件,blob只包含文件的数据,而忽略文件的其他元数据,如名字,路径格式等

trees:    每个tree代表了一个目录的信息,包含了此目录下的blobs,子目录(对应于子trees),文件名、路径等元数据。因此,对于有子目录的目录,git相当于存储了嵌套的trees。

commits: 每个commmit记录了提交一个更新的所有元数据,如指向的tree,父commit,作者、提交者、提交日期、提交日志等。每次提交都指向一个tree对象,记录了档次提交时的目录信息。一个commit可以有多个(至少一个)父                        commits。

tags:tag用于给某个上述类型的对象指配一个便于开发者记忆的名字,通常用于某次commit

获取Git仓库的命令

git init git_test //初始化一个Git仓库
//创建了一个叫git_test 的仓库,并在你制定的目录下边建立了一个git_test文件夹。同时在文件夹中生成了.git。 git init --bare git_bare_test
// 生成一个裸的仓库,它不带.git文件,也就是不带工作区。 git clone url
//克隆项目

Git仓库的三个区域

1.working directory:工作区

2.staging area:暂存区

3.history repository:历史仓库(版本库)

  • 从工作区中添加内容到暂存区。(add)
  • 将暂存区的内容提交到版本库。  (commit)
  • 从版本库中检出内容到工作区。
git add -u
//所有跟踪文件中被修改过或已删除文件的信息添加到暂存区 git add -A
//所有被跟踪文件与不被跟踪文件添加暂存区 git add -i
//查看所有修改过或已删除文件 但没有提交的文件 git commit -m "提交的描述信息" git commit -a -m "提交的描述信息" git status //查看工作区、暂存区和版本库的差异情况 git rm a
git commit -m "delete a file" git rm --cached a //删除暂存区的文件 git mv //git文件重命名或移动路径时使用命令

git ----(2)的更多相关文章

  1. 初学git(一):创建本地“仓库”

    初学git(一):创建本地“仓库” 作为一个初学者,我是跟着廖学峰老师的官方博客学习,这里只是做个笔记,哈哈,关于git的历史.和其他版本控制的对比啥的,我就不说了.另外,我这里用的是Mac OS X ...

  2. Pro Git(中文版)

    Pro Git(中文版) 返回 Git @ OSC 目录 1.起步 1.1 关于版本控制 1.2 Git 简史 1.3 Git 基础 1.4 安装 Git 1.5 初次运行 Git 前的配置 1.6 ...

  3. 花点时间顺顺Git(上)

    花点时间顺顺Git(上) 为了让你们点进来贼努力的想了一个色彩斑斓大吉大利的标题,好,看正文 历史:Linus的作者创建了开源的Linux,02年以前代码管理都依赖手动合并,后来管理不了了,拒绝SVN ...

  4. 【转】理清基本的git(github)流程

    概述 当我初次接触git时,我需要快速学习基本的git工作流,以便快速接收一个开源Web项目维护.但是,我很难理解工作流程,因为我不太了解git使用关键点. fork,clone,pull.branc ...

  5. Git(6)-- 记录每次更新到仓库(git clone、status、add、diff、commit、rm、mv命令详解)

    @ 目录 1.克隆现有仓库:git clone 2.检查当前文件状态 :git status 3.跟踪新文件:git add 4.暂存已修改的文件:git add 5.状态简览: git status ...

  6. Git(7)-- 查看提交历史(git log 命令详解)

    @ 目录 1.git clone 2.git log 3.git log -p 4.git log --stat 5.git log --pretty=oneline 6.git log --pret ...

  7. Git(1)

    安装Git 完毕 (在开始菜单打开的话,打开的不是你想要的路径,切换路径很麻烦) 1.D盘新建 GitTest 文件夹 2.打开GitTest , 在空白的地方右键, 3.单击 Git Bash He ...

  8. 初学者在ubuntu下安装使用git(上)

      一 git的安装测试 在Ubuntu系统下的bash中输入git,如果提示没有安装的话,用命令 sudo apt-get install git 安装git,安装完成之后通过 git –versi ...

  9. git(5) windows下 pycharm + git(github) ,在本地方便管理

    本篇博客讲解一下,windows下如何在pycharm下使用git(使用github设置和git一样),在本地进行commit,push,pull等操作 优点:简单,方便 pycharm版本:5.0. ...

  10. git(4)如何在windows上安装git

    windows版本git(1.9.2)下载:点击下载 下完之后点击双击安装: 我安装的是默认的目录:一路next,最后就安装完成了,中间步骤中也有unix下安装的选项: 我的安装目录是在:C:\Pro ...

随机推荐

  1. Linux命令:chmod

    https://baijiahao.baidu.com/s?id=1616750933810368135&wfr=spider&for=pc

  2. PDF文档的目录编辑与显示

    为了更好的保护PDF文件,可以将其转换为图片的格式,再重新排版编辑. 使用压缩率更高的JPEG 2000图片格式更佳. ---------------------------------------- ...

  3. Zabbix邮件报警配置

    一.安装sendmail或者postfix yum install sendmail #安装 service sendmail start #启动 chkconfig sendmail on #设置开 ...

  4. bat脚本基础教程

    bat脚本就是DOS批处理脚本,就是将一系列DOS命令按照一定顺序排列而形成的集合,运行在windows命令行环境上.本文主要介绍bat脚本基础语法,希望完成本文内容学习之后具备基础的bat脚本开发能 ...

  5. 遍历DOM树,each()遍历

    在<jQuery教程/理解选取更新范围>一节中,我们知道:当选择器返回了多个元素时,可以使用一个方法来更新所有的元素,不再需要使用循环. 然后有的时候需要遍历元素,怎么办? 使用each( ...

  6. 四则运算之Right-BICEP单元测试

    一. 这篇博客要对上次实现的四则运算进行单元测试,一是检查上次的程序的实现情况,二是巩固单元测试的相关知识.本次进行单元测试用的是Riget-BICEP方法. Riget-BICEP方法: 1.Rig ...

  7. kubernetes ui 搭建

    1.部署Kubernetes云计算平台,至少准备两台服务器,此处为3台 Kubernetes Master节点:192.168.0.111 Kubernetes Node1节点:192.168.0.1 ...

  8. CSS样式表的写作规范

    推荐大家使用的CSS书写规范.顺序 写了这么久的CSS,但自己都没有按照良好的CSS书写规范来写CSS代码,东写一段西写一段,命名也是想到什么写什么,过一段时间自己都不知道写的是那一块内容, 这样会影 ...

  9. Failed to execute goal org.apache.maven.plugins:maven-surefire-plugin:2.12.4:test (default-test)

    这是因为测试代码时遇到错误,它会停止编译.只需要在pom.xml的<project>里添加以下配置,使得测试出错不影响项目的编译.<build> <plugins> ...

  10. eclipse egit(版本回退)

    在公司一年多了,用到的项目都是用svn代码托管,没有git 的用武之地,趁国庆假期稍微自学了一下,然后人比较懒,不愿用原生敲命令行的形式,就在eclipse上学学怎么用git,话说回来用了svn再来学 ...