git中文件的状态及状态之间的转换

一:状态转换图(来自网络)

git中文件的状态及状态之间的转换_第1张图片

二:状态说明

Untracked: 未跟踪, 此文件在文件夹中, 但并没有加入到git库, 不参与版本控制. 通过git add 状态变为Staged.一般新建的文件处于此状态

1:新建文件newFile.txt

git中文件的状态及状态之间的转换_第2张图片
2.add 转换为Staged状态

git中文件的状态及状态之间的转换_第3张图片

Unmodify: 文件已经入库, 未修改, 即版本库中的文件快照内容与文件夹中完全一致. 这种类型的文件有两种去处, 如果它被修改, 而变为Modified.

如果使用git rm移出版本库, 则成为Untracked文件

指的是已经同步的文件。

修改文件变为,modified状态:

git中文件的状态及状态之间的转换_第4张图片


Modified: 文件已修改, 仅仅是修改, 并没有进行其他的操作. 这个文件也有两个去处, 通过git add可进入暂存staged状态, 使用git checkout 则丢弃修改过,

返回到unmodify状态, 这个git checkout:即从库中取出文件, 覆盖当前修改

丢弃修改:

git中文件的状态及状态之间的转换_第5张图片

进入暂存staged状态:

git中文件的状态及状态之间的转换_第6张图片

Staged: 暂存状态. 执行git commit则将修改同步到库中, 这时库中的文件和本地文件又变为一致, 文件为Unmodify状态. 执行git reset HEAD filename取消暂存,

文件状态为Modified
提交同步:

git中文件的状态及状态之间的转换_第7张图片

取消暂存:

git中文件的状态及状态之间的转换_第8张图片

你可能感兴趣的:(git的使用)