全部学科
Python全栈
python
NodeJS全栈
nodejs
小程序首页
📅 2026-05-11 6 分钟 ✍️ juanwangdev

git diff 查看差异

git diff 命令显示文件内容的变更差异,帮助理解具体改动。

基本用法

Bash
# 工作区 vs 暂存区(未暂存的变更)
git diff

# 暂存区 vs 最新提交(已暂存的变更)
git diff --staged
git diff --cached

# 工作区 vs 最新提交(所有变更)
git diff HEAD

输出示例

Bash
$ git diff README.md
diff --git a/README.md b/README.md
index a1b2c3d..e4f5g6h 100644
--- a/README.md
+++ b/README.md
@@ -1,5 +1,6 @@
 # Project Name

+## Introduction
 This is a sample project.

-Old line
+New line

对比说明

符号含义
---原文件(变更前)
+++新文件(变更后)
-删除的行
+新增的行
@@变更位置(行号范围)

对比不同版本

Bash
# 对比两个提交
git diff <commit1> <commit2>

# 对比指定提交
git diff abc123 def456

# 对比当前与某次提交
git diff abc123

# 对比两个分支
git diff main feature

指定文件对比

Bash
# 对比特定文件
git diff -- filename

# 对比某文件的两次提交
git diff abc123 def456 -- filename

# 查看暂存区特定文件
git diff --staged -- filename

常用选项

Bash
# 只显示文件名
git diff --name-only

# 显示统计信息
git diff --stat

# 忽略空白变化
git diff -w
git diff --ignore-all-space

# 显示单词级别差异
git diff --word-diff

要点总结

  1. git diff 查看未暂存变更
  2. git diff --staged 查看已暂存变更
  3. git diff HEAD 查看所有变更
  4. git diff commit1 commit2 对比两次提交
  5. --stat 显示统计,--name-only 只显示文件名

📝 发现内容有误?点击此处直接编辑

← 上一篇 git commit 提交更改
下一篇 → git init 初始化仓库
想查看更多题目和详细解析?
小程序提供完整的题库、模拟考试和详细解析
马上就来

长按或扫描二维码,立即体验

扫码体验小程序
马上就来
使用微信扫描二维码
立即体验完整题库