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
要点总结
git diff查看未暂存变更git diff --staged查看已暂存变更git diff HEAD查看所有变更git diff commit1 commit2对比两次提交--stat显示统计,--name-only只显示文件名
📝 发现内容有误?点击此处直接编辑