Git 中如何比较不同版本之间的差异?常用命令有哪些?

回答重点

1) git diff <commit1> <commit2> :比较两个指定的提交之间的差异。

2) git diff <branch1> <branch2> :比较两个分支之间的差异。

3) git diff <path> :比较工作目录中某个文件或目录的当前状态与暂存区最后一次提交之间的差异。

4) git diff --stagedgit diff --cached :比较已暂存的改动与最后一次提交之间的差异。

扩展知识

1) 比较两个提交:

  • 命令: git diff <commit1> <commit2>
  • 示例: git diff 7a5cbd8 e3a1b2d 假设你有两个提交,标识分别为 7a5cbd8 和 e3a1b2d,这个命令将显示这两个提交之间的差异。

2) 比较两个分支:

  • 命令: git diff <branch1> <branch2>
  • 示例: git diff feature-branch master 如果你有一个 feature-branchmaster 分支,这个命令将显示两个分支之间的差异。

3) 比较文件的当前状态和暂存区的最后一次提交:

  • 命令: git diff <path>
  • 示例: git diff src/main.py 这个命令显示 src/main.py 文件当前未提交的改动。

4) 比较已暂存的改动与最后一次提交:

  • 命令: git diff --stagedgit diff --cached
  • 示例: git diff --staged 查看已经用 git add 暂存的文件和最后一次提交之间的差异。注意这和 git diff 不同,后者检查工作目录中未被暂存的变更。

此外,以下命令也经常结合 git diff 使用:

1) git log:查看提交历史。你可以用 git log 来获取提交 ID,以便和 git diff 结合使用。例如 git log --oneline 会显示简要的提交历史。

2) git show:显示一个提交的详细信息,包括变动的内容。用法: git show <commit>

3) git status:显示工作目录的状态,包括哪些文件有改动、哪些文件已经暂存等。

相关推荐
专注VB编程开发20年22 分钟前
安桌15系统文件直接存到其他目录要权限吗?/storage/emulated/0/Downloa
git
Spider_Man1 小时前
卧槽!Claude Code 官方插件市场,这波直接让 AI 辅助开发起飞了!
前端·github·claude
darkb1rd1 小时前
9arm-skills: 打造模块化 AI 技能实战指南
开源·github·好物分享
小雨青年2 小时前
GitHub Actions 自定义 Runner 镜像实战:把初始化环境提前做好
github
解道Jdon2 小时前
从Go转向Rust迁移指南:靠自觉 vs. 靠编译器
ide·windows·git·svn·eclipse·github·visual studio
markyankee1013 小时前
GitHub SSH 密钥配置指南:本地与 Codespaces 环境
github
简创AIGC陶先生3 小时前
【剪映小助手】音频处理工具接口
github
markyankee1013 小时前
GitHub Codespaces 创建与环境配置指南(Python + Conda 环境)
github
三无推导3 小时前
《OpenHands 安装部署教程:用 Docker 在本地快速跑通开源 AI 编码助手》
人工智能·python·docker·性能优化·开源·github
小宋10214 小时前
2026如何使用 GitHub 快速找到高质量开源项目?从搜索语法到 Trending 实战教程
github