一个 Git 仓库中,文件有个 tracked 状态。
- Untracked: 没有出现在上一个 commit 中,并且没有被 staged 的文件
- Tracked: 有出现在上一个 commit 中的文件,分两种状态:
- Modified: 被修改,跟上一个 commit 的内容不一样了
- Unmodified: 没有被修改
Working tree 表示本地 git 仓库下的文件们,不论他们是否被 track 了。Stage / Index 表示对文件的某一步修改,被 Git track 了。比如:
touch README
git add README
被 add 过的 README 文件,就被 staged 了,它会在 index 中。当下一次 commit 后,stage 中的修改被合进仓库历史中,然后 stage 又变成空的。
git rm
对 staged 的文件做操作,表示把一个文件中:
git rm
作用于没有被修改、