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次提交

相关推荐
胖大和尚3 小时前
当前仓库推送到同一台机器上的另一个文件夹
git
轮到我狗叫了1 天前
git - 版本控制工具 - 对应的常见命令 - 以及无需后续每次手动source conda
git
changxiang1 天前
GIT 备忘
git
DogDaoDao2 天前
Windows 开发提效工具全景指南:60+ 工具的工程化分层配置
windows·git·程序员·开发工具·powershell·everything·msys2
wdfk_prog2 天前
GitHub push 失败:如何扫描并清理 Git 历史中的大文件
git·elasticsearch·github
大明二代2 天前
使用 Traefik、cert-manager 和 DNS-01 为内网 Kubernetes 服务配置 HTTPS
git·kubernetes·flux
小芒果_012 天前
git常用命令速查
大数据·git·elasticsearch
2501_930472442 天前
腾讯云助手规范化Git提交记录
git·elasticsearch·腾讯云
风尘小子3 天前
git的.gitignore文件中文件和目录配置
git
Tanner_SL3 天前
Linux笔记之GIT常用命令
linux·git