Git 中有三种状态:提交(committed)、修改(modified)和暂存(staged)。
- 提交(committed):数据已经安全的存储在本地数据库中。
- 修改(modified):修改了文件,但还没保存到数据库中。
- 暂存(staged):对一个已修改文件的当前版本做了标记,使之包含在下次提交的快照中。
通常,文件在 Git 中的状态转换过程是:
已提交(committed) -> 修改(modified) -> 暂存(staged) -> 提交(committed)
例如:
- 克隆一个仓库,文件处于已提交(committed)状态。
- 编辑 README.md 文件,文件处于修改(modified)状态。
- 添加 README.md 文件到暂存区,文件处于暂存(staged)状态:
git add README.md
- 提交暂存区的文件,文件再次处于已提交(committed)状态:
git commit -m "Update README.md"
- 进一步编辑 README.md 文件,文件又处于修改(modified)状态。
所以,Git 中文件的状态是随着版本控制流程的进行在三种状态之间转换的。
我们可以使用下面的Git命令查看文件在不同状态:
- 查看已修改(modified)的文件:
git status
- 查看暂存(staged)的文件:
git status
- 查看已提交(committed)的历史版本:
git log
- 从暂存区移除文件:
git reset HEAD <file>
- 将修改过的文件移动到暂存区:
git add <file>
- 提交暂存区文件:
git commit -m <message>
掌握Git各状态之间的转换和相应的Git命令,是学习Git版本控制的基础。对Git三种状态有清晰的理解,可以更好的利用Git进行代码管理。