Git的三种状态是什么?

Git 中有三种状态:提交(committed)、修改(modified)和暂存(staged)。

  1. 提交(committed):数据已经安全的存储在本地数据库中。
  2. 修改(modified):修改了文件,但还没保存到数据库中。
  3. 暂存(staged):对一个已修改文件的当前版本做了标记,使之包含在下次提交的快照中。

通常,文件在 Git 中的状态转换过程是:

已提交(committed) -> 修改(modified) -> 暂存(staged) -> 提交(committed)

例如:

  1. 克隆一个仓库,文件处于已提交(committed)状态。
  2. 编辑 README.md 文件,文件处于修改(modified)状态。
  3. 添加 README.md 文件到暂存区,文件处于暂存(staged)状态:
git add README.md
  1. 提交暂存区的文件,文件再次处于已提交(committed)状态:
git commit -m "Update README.md"
  1. 进一步编辑 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进行代码管理。