如何使用Git的Diff-Staged功能对比已暂存代码与上一次本地提交的差异?
- 内容介绍
- 文章标签
- 相关推荐
本文共计818个文字,预计阅读时间需要4分钟。
直接运行以下命令(或等价命令):
确认方式很简单:
- 执行
git status,看是否有 “Changes to be committed” 区块; - 执行
git ls-files --staged,能列出文件才说明暂存区非空; - 如果刚改完文件但忘了
git add,那改动还在工作区,此时该用git diff(不带参数)。
为什么 git diff --staged 和 git diff 结果不同?搞清三棵树位置
Git 里有三份快照:工作目录(你看到的文件)、暂存区(index/staging)、HEAD(上一次 commit)。git diff --staged 对比的是后两者——也就是你 git add 进去的那些改动,和上一次提交之间差了什么。
本文共计818个文字,预计阅读时间需要4分钟。
直接运行以下命令(或等价命令):
确认方式很简单:
- 执行
git status,看是否有 “Changes to be committed” 区块; - 执行
git ls-files --staged,能列出文件才说明暂存区非空; - 如果刚改完文件但忘了
git add,那改动还在工作区,此时该用git diff(不带参数)。
为什么 git diff --staged 和 git diff 结果不同?搞清三棵树位置
Git 里有三份快照:工作目录(你看到的文件)、暂存区(index/staging)、HEAD(上一次 commit)。git diff --staged 对比的是后两者——也就是你 git add 进去的那些改动,和上一次提交之间差了什么。

