Git 笔记 - git diff

本文深入介绍了Git的diff命令,包括如何查看工作区、暂存区与仓库之间的差异,以及不同提交和分支之间的对比。通过`gitdiffHEAD`、`gitdiffonetwo`、`gitdiff--cached`和`gitdiff--stat`等选项,理解如何高效地跟踪和管理代码变更。同时,`gitdiff--stat`提供了差异的统计概览。
摘要由CSDN通过智能技术生成

git diff 命令用于显示提交和工作树之间的更改。

01 git diff

🌟 git diff 后面如果不带任何的参数、文件名、提交 id 等,则 👇👇👇

  • 一般情况下(工作区与暂存区中无相同改动的文件)显示的是当前工作区的文件与 Git 仓库中文件的差异。如下图所示:

  • 二般情况下(工作区与暂存区中有相同的文件)除了相同改动的文件显示的是当前工作区暂存区的差异,其他文件同一般情况处理。如下图所示:

02 git diff HEAD

HEAD:最新一次 commit;
HEAD^:上次提交;
HEAD~n:上 n 次提交;

🌟 git diff HEAD 请看下面!

  • 一般情况下(工作区与暂存区中无相同改动的文件)显示的是当前工作区和暂存区的文件与 Git 仓库中文件的差异。

  • 二般情况下(工作区与暂存区中有相同的文件)除了相同改动的文件显示的是当前工作区Git 仓库的差异,其他文件同一般情况处理。

03 git diff one two

  • git diff <commit> :若后面只带有一个 commit,则显示的是 HEAD 与 commit 的差异

  • git diff <commit_1> <commit_2> :若后面带有两个 commit,则显示的是 commit_1 与 commit_2 的差异

  • git diff <branch> :若后面只带有一个 branch,则显示的是当前分支与 branch 分支的差异

  • git diff <branch_1> <branch_2> :若后面带有两个 branch,则显示的是 branch_1 分支与 branch_2 分支的差异

04 git diff --cached

--staged--cached 的同义词:git diff --cached === git diff --staged

🌟 git diff --cached:若不提供 commit,默认为 git diff --cached HEAD,则显示的是暂存区文件与 Git 仓库中文件的差异。

注意:如果 HEAD 不存在,且没有给 commit ,则会显示所有阶段性更改。

05 git diff --stat

​🌟 git diff --stat:用于显示摘要。若命令后不带任何的参数等,则查询的是当前工作区Git 仓库的详细更改。

打印展示如下:

$ git diff --stat
 a.js | 4 +++-
 b.js | 4 +++-
 2 files changed, 6 insertions(+), 2 deletions(-)

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值