[Git] 代码管理之 Git(四)Git 的四大区域与文件状态

虽然之前的文章已经涉及到了git的四大区域的概念,这里集中来整理一下。

Git四大区域

首先看一张图
git四大区域
这张图中一共有四个区域,分别为

  • workspace
  • index/stage
  • repository
  • remote

Workspace区域

工作区,就是我们平时存放项目代码的地方,我们的代码工作也是在这里进行

index / Stage区域

暂存区,用于临时存放你的改动,事实上它只是一个文件,保存即将提交到文件列表信息

Repository区域

仓库区(或版本库),就是安全存放数据的位置,这里面有你提交到所有版本的数据。其中HEAD指向最新放入仓库的版本

Remote区域

远程仓库,托管代码的服务器,可以简单的认为是你项目组中的一台电脑用于远程数据交换

Git 工作流程

在这里插入图片描述
git的工作流程一般是这样的:

  1. 在工作目录中添加、修改文件;
  2. 将需要进行版本管理的文件add到暂存区域;
  3. 将暂存区域的文件commit到git仓库;
  4. 本地的修改push到远程仓库,如果失败则执行第5步
  5. git pull将远程仓库的修改拉取到本地,如果有冲突需要修改冲突。回到第三步

因此,git管理的文件有三种状态:已修改(modified),已暂存(staged),已提交(committed)

Git文件四种状态

在这里插入图片描述

  • Untracked: 未跟踪, 此文件在文件夹中,但并没有加入到git库,不参与版本控制, 通过git add 状态变为Staged。
  • Unmodify: 文件已经入库且未修改, 即版本库中的文件快照内容与文件夹中完全一致,这种类型的文件有两种去处,如果它被修改, 而变为Modified,如果使用git rm移出版本库, 则成为Untracked文件。
  • Modified:文件已修改,仅仅是修改,并没有进行其他的操作,这个文件也有两个去处,通过git add可进入暂存staged状态,使用git checkout 则丢弃修改,返回到unmodify状态, 这个git checkout即从库中取出文件,覆盖当前修改
  • Staged:暂存状态,执行git commit则将修改同步到库中,这时库中的文件和本地文件又变为一致,文件为Unmodify状态。

猜你喜欢

转载自blog.csdn.net/starperfection/article/details/110600378