2 git项目详解

1 本地仓库结构

  • git项目有3个主要部分组成
* 工作区(working directory / working tree)
    项目当前版本对应的所有文件,这些文件是从git版本库中压缩后的数据库中提取出来,放入该位置的(就是我们项目当前版本的代码)

暂存区(staging area)
    本质就是一个文件,位于在git版本库中,主要用于保存下次提交文件的信息;通俗上,我们称之为索引

版本库(git directory / repository)
    用于存储元数据和文档数据库的地方,默认在项目的.git隐藏目录中

2 仓库各部分如何协作

  • 首先在工作区修改文件(当前开发的代码)

  • 将修改后的文件放入git暂存区中,准备提交到git版本库中去

  • 执行提交操作,将暂存区中的文件作为一个快照保存到git版本库中


    本地仓库结构.png

3 文件状态

  • untracked : 工作区中从未被提交至暂存区或版本库中文件的状态

  • new : untracked状态的文件提交至暂存区后,文件状态变为new

  • tracked : new状态的文件提交至版本库后,文件状态变为tracked状态

  • modified : 文件已有一个或多个版本保存在版本库中,此时文件被修改,未加入暂存区,文件状态为modified状态

  • staged : modified状态的文件提交至暂存区后,文件状态变为staged

  • committed : staged状态的文件提交至版本库后,文件状态变为committed状态


    文件状态流转.png

推荐阅读更多精彩内容

  • 前言 这一章将讲解使用Git完成各种工作中要使用到的基础命令,基本上你大部分的工作都是使用这些基础命令来完成的。 ...
    redher阅读 48评论 0 0
  • 以下笔记主要参考gitgot,大致了解git使用和原理。 第一部分我们从个人的视角去研究如何用好Git,并且揭示G...
    carolwhite阅读 688评论 0 1
  • 版本控制系统 版本控制是一种记录一个或若干文件内容变化,以便将来查阅特定版本修订情况的系统。[图片上传失败...(...
    画船听雨眠13阅读 50评论 0 0
  • Git基础 获取 Git 仓库 在现有目录中初始化仓库 如果你打算使用 Git 来对现有的项目进行管理,你只需要进...
    Tomcy_110阅读 50评论 0 1
  • 一、基本概念: 注:对于git的分布式概念及其优点,不重复说明,自己百度或谷歌。本文中涉及到指令前面有$的,在cm...
    Im_Coder阅读 564评论 0 3