第四章: Git 下文件状态

概述

工作树很好地展示了文件状态之间的转换。

工作树

对于Git而言,文件状态有四种。分别是

  • Untracked :新增文件、删除文件
  • Unmodified :commit
  • Modified :修改文件
  • Staged : add

处于unmodified的状态称为:干净的工作树(clean working tree)

一、Git 管理工作目录(Working Dirtory)

Git使用来管理文件夹的,要使文件夹纳入Git版本控制系统,需要使用如下指令:

$ git init

git_init

在git下管理的文件夹中文件状态变化时,git能够检测到。使用指令

git stauts

可以查看当前状态。

二、Git的追踪态

工作目录下的文件无外乎有两种状态:

  • 已跟踪(tracked)
  • 未跟踪(untracked)

新建一个文件,这个文件的状态是未追踪的。无法给出具体对文件进行了什么操作。
git_status说明.png

三、Git的暂存态

Git的暂存态有两种:

  • 已暂存(staged)
  • 未暂存(unstaged、untracked)

在工作目录下创建一个C文件,内容如下:

#include <stdio.h>

int main()
{
	printf("Hello!Welcome to my system!\n");
	
	return 0;
}

如果使用下面语句

$ git add 文件名

那么文件的状态将会从未跟踪(untracked)变未暂存(unstaged、untracked)

这里写图片描述

add之后,这个文件变成了已追踪,可以分析出这个文件原来是新创建的。

这个过程是可逆的,在返回的指令中可以看到回到unstaged状态的办法。

$ git rm --cached <file>...

git_unstaged.png

三、修改态

Git修改态有两种:

  • 已修改(modified)
  • 未修改(unmodified)
    处于staged态的文件可以使用commit生成一个版本并有唯一的版本号:
$ git commit -m "改动的内容"

变化提交以后,文件的状态由:
已暂存(staged)->未修改(unmodified)

git_commit.png

此时的状态为:
git_commited_status.png

此时只有一个文件的info_provider.c的项目就被“快照”下来,成为一个版本。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值