git 基础

请记住,工作目录下面的所有文件都不外乎这两种状态:已跟踪或未跟踪

已跟踪的文件是指本来就被纳入版本控制管理的文件,它们的状态可能是未更新,已修改或者已放入暂存区

而所有其他文件都属于未跟踪文件。它们既没有上次更新时的快照,也不在当前的暂存区域。

初次克隆某个仓库时,工作目录中的所有文件都属于已跟踪文件,且状态为未修改

在编辑过某些文件之后,Git 将这些文件标为已修改。我们逐步把这些修改过的文件放到暂存区域,直到最后一次性提交所有这些暂存起来的文件,如此重复。所以使用 Git 时的文件状态变化周期如图 2-1 所示

git 基础_第1张图片
File Status LifeCycle.png
检查当前文件状态

现在让我们用 vim 创建一个新文件 README,保存退出后运行 git status
会看到该文件出现在未跟踪文件列表中:

git 基础_第2张图片
untrancked files.png
在状态报告中可以看到新建的README文件出现在“Untracked files”下面

Git 不会自动将之纳入跟踪范围

如何跟踪未纳入其跟踪范围的该文件
使用命令 git add开始跟踪一个新文件。

所以,要跟踪 README 文件,运行:

$ git add README

此时再运行 git status
命令,会看到 README 文件已被跟踪,并处于暂存状态:

$ git status 
# On branch master 
# Changes to be committed: 
# (use "git reset HEAD ..." to unstage) 
# 
# new file: README 
#
只要在 “Changes to be committed” 这行下面的,就说明是已暂存状态
其实 git add的潜台词就是把目标文件快照放入暂存区域,也就是 add file into staged area,同时未曾跟踪过的文件标记为需要跟踪。这样就好理解后续 add 操作的实际意义了。

你可能感兴趣的:(git 基础)