Git基础篇(三)——Git工作区域及文件状态

前言:
  想要真正熟悉Git用法,必须对Git工作原理有所熟悉。这篇文章介绍Git的集中工作区域和Git中文件的几种状态。

1 Git四种工作区域

  Git将存储区域划分为四种:工作目录(Working Directory)、暂存区(Stage/Index)、仓库区/版本库(Repository/Git Directory)、远程仓库(Remote Directory)。

  • 工作目录(Working Directory):就是你的项目目录但不包括”.git“目录,是对文件进行编辑修改的目录;
  • 暂存区(Stage/Index):用于临时存放改动,此时改动已经被Git进行管理。实际上暂存区就是”.git“目录下”index“文件(.git/index);
  • 仓库区/版本库(Repository/Git Directory):核心区域,是存放所有版本提交的区域,内容都存放在”.git“目录中;
  • 远程仓库(Remote Directory):存储在远端进行项目托管的服务器中,比如Github或者公司的某一台充当服务器作用的电脑;

Git基础篇(三)——Git工作区域及文件状态

前言:
  想要真正熟悉Git用法,必须对Git工作原理有所熟悉。这篇文章介绍Git的集中工作区域和Git中文件的几种状态。

1 Git四种工作区域

  Git将存储区域划分为四种:工作目录(Working Directory)、暂存区(Stage/Index)、仓库区/版本库(Repository/Git Directory)、远程仓库(Remote Directory)。

  • 工作目录(Working Directory):就是你的项目目录但不包括”.git“目录,是对文件进行编辑修改的目录;
  • 暂存区(Stage/Index):用于临时存放改动,此时改动已经被Git进行管理。实际上暂存区就是”.git“目录下”index“文件(.git/index);
  • 仓库区/版本库(Repository/Git Directory):核心区域,是存放所有版本提交的区域,内容都存放在”.git“目录中;
  • 远程仓库(Remote Directory):存储在远端进行项目托管的服务器中,比如Github或者公司的某一台充当服务器作用的电脑;

Work_area.png

  工作目录就是你进行“创作”区域,此时没有进行版本管控,而仓库区是进行版本管控的区域,但为什么在工作区和仓库区中间还存在一个暂存区,比如SVN就没有暂存区的概念,暂存区有什么作用呢?当修改未完成时,这时候不能把未完成的修改提交上去,但是又希望当前的修改进行适当的版本管理,那么就可以选择将工作区的最新修改提交到暂存区。
  通常使用Git的工作流程是,现在工作区进行开发,然后将修改提交到暂存区,将一次完整的修改提交到本地仓库并写上log,最后考虑是否提交到远程仓库或将修改推送给别人,与别人分享自己的修改。

2 Git四种文件状态

  Git版本的控制实际是对文件的控制,但要注意版本管控的单位不是文件,一个版本可以包含很多文件。在Git中,根据文件的提交和修改存在四种状态的文件。

  • 未跟踪(Untracked):文件当前未参与Git版本管控;
  • 未修改(Unmodify):文件已经入库但未修改;
  • 已修改(Modified):文件已经入库并且存在修改;
  • 已暂存(Staged):文件处于暂存状态;

File_status.png

  工作目录就是你进行“创作”区域,此时没有进行版本管控,而仓库区是进行版本管控的区域,但为什么在工作区和仓库区中间还存在一个暂存区,比如SVN就没有暂存区的概念,暂存区有什么作用呢?当修改未完成时,这时候不能把未完成的修改提交上去,但是又希望当前的修改进行适当的版本管理,那么就可以选择将工作区的最新修改提交到暂存区。
  通常使用Git的工作流程是,现在工作区进行开发,然后将修改提交到暂存区,将一次完整的修改提交到本地仓库并写上log,最后考虑是否提交到远程仓库或将修改推送给别人,与别人分享自己的修改。

2 Git四种文件状态

  Git版本的控制实际是对文件的控制,但要注意版本管控的单位不是文件,一个版本可以包含很多文件。在Git中,根据文件的提交和修改存在四种状态的文件。

  • 未跟踪(Untracked):文件当前未参与Git版本管控;
  • 未修改(Unmodify):文件已经入库但未修改;
  • 已修改(Modified):文件已经入库并且存在修改;
  • 已暂存(Staged):文件处于暂存状态;

Git基础篇(三)——Git工作区域及文件状态

前言:
  想要真正熟悉Git用法,必须对Git工作原理有所熟悉。这篇文章介绍Git的集中工作区域和Git中文件的几种状态。

1 Git四种工作区域

  Git将存储区域划分为四种:工作目录(Working Directory)、暂存区(Stage/Index)、仓库区/版本库(Repository/Git Directory)、远程仓库(Remote Directory)。

  • 工作目录(Working Directory):就是你的项目目录但不包括”.git“目录,是对文件进行编辑修改的目录;
  • 暂存区(Stage/Index):用于临时存放改动,此时改动已经被Git进行管理。实际上暂存区就是”.git“目录下”index“文件(.git/index);
  • 仓库区/版本库(Repository/Git Directory):核心区域,是存放所有版本提交的区域,内容都存放在”.git“目录中;
  • 远程仓库(Remote Directory):存储在远端进行项目托管的服务器中,比如Github或者公司的某一台充当服务器作用的电脑;

Work_area.png

  工作目录就是你进行“创作”区域,此时没有进行版本管控,而仓库区是进行版本管控的区域,但为什么在工作区和仓库区中间还存在一个暂存区,比如SVN就没有暂存区的概念,暂存区有什么作用呢?当修改未完成时,这时候不能把未完成的修改提交上去,但是又希望当前的修改进行适当的版本管理,那么就可以选择将工作区的最新修改提交到暂存区。
  通常使用Git的工作流程是,现在工作区进行开发,然后将修改提交到暂存区,将一次完整的修改提交到本地仓库并写上log,最后考虑是否提交到远程仓库或将修改推送给别人,与别人分享自己的修改。

2 Git四种文件状态

  Git版本的控制实际是对文件的控制,但要注意版本管控的单位不是文件,一个版本可以包含很多文件。在Git中,根据文件的提交和修改存在四种状态的文件。

  • 未跟踪(Untracked):文件当前未参与Git版本管控;
  • 未修改(Unmodify):文件已经入库但未修改;
  • 已修改(Modified):文件已经入库并且存在修改;
  • 已暂存(Staged):文件处于暂存状态;

File_status.png