Git版本控制——diff命令

1. 工作目录 VS 暂存区

$ git diff <filename>

意义:查看文件在工作目录与暂存区的差别。如果还没 add 进暂存区,则查看文件自身修改前后的差别。

也可查看和另一分支的区别:$ git diff <branch> <filename>

示例:

git diff t3.txt

diff里面a表示前面那个变量,b表示第二个变量

HEAD commit版本

Index staged版本

2. 暂存区 VS Git仓库

git diff --cached <filename>

意义:表示查看已经 add 进暂存区但是尚未 commit 的内容同最新一次 commit 时的内容的差异。

也可以指定仓库版本:git diff --cached <commit> <filename>

3. 工作目录 VS Git仓库

git diff <commit> <filename>

意义:查看工作目录同Git仓库指定 commit 的内容的差异。

<commit>=HEAD 时:查看工作目录同最近一次 commit 的内容的差异。

4. Git仓库 VS Git仓库

git diff <commit> <commit>

意义:Git仓库任意两次 commit 之间的差别。

5. 注意

以上命令可以不指定 <filename>,则对全部文件操作。

以上命令涉及和Git仓库对比的,均可指定 commit 的版本。

HEAD 最近一次 commit

HEAD^ 上次提交

HEAD~100 上100次提交

相关推荐
带娃的IT创业者9 小时前
Git commands I run before reading any code
git·开发工具·版本控制·编程技巧·代码审查
九成宫10 小时前
Git 与远程仓库实操记录:克隆、配置、分支推送与问题排查
笔记·git·ssh
武超杰19 小时前
Git 从入门到精通教程
git
程序员夏末20 小时前
【开源经历 | 第一篇】参与开源需要掌握的Git和Github指令
git·开源
SNOWPIAOP21 小时前
git status 出现中文乱码的解决方案等
git·乱码·postgres
qq_435287921 天前
第9章 夸父逐日与后羿射日:死循环与进程终止?十个太阳同时值班的并行冲突
java·开发语言·git·死循环·进程终止·并行冲突·夸父逐日
AIMath~2 天前
Git 子模块(Submodule)目录结构清除实战复盘
git
切糕师学AI2 天前
Ubuntu 下 Git 完全使用指南
linux·git·ubuntu
一袋米扛几楼982 天前
【Git】规范化协作:详解 GitHub 工作流中的 Issue、Branch 与 Pull Request 最佳实践
前端·git·github·issue
尘埃落定wf2 天前
# GitHub CLI:告别繁琐的 Git 命令,让开发更高效
git·github