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

回答重点

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

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

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

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

扩展知识

1) 比较两个提交:

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

2) 比较两个分支:

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

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

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

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

  • 命令: git diff --staged 或 git 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:显示工作目录的状态,包括哪些文件有改动、哪些文件已经暂存等。

相关推荐
wangruofeng3 小时前
AI Models 模型目录,跨平台比较大模型 API 价格与上下文
github·aigc·ai编程
怕浪猫5 小时前
红利窗口开着,程序员别在场边囤课
面试·github·ai编程
来自于狂人6 小时前
GitHub 开源趋势日报 | 2026年10月21日
开源·github
u13013010 小时前
GitHub 热榜项目:日榜(2026-10-21)
人工智能·github
齐 飞10 小时前
idea中git误操作撤回git reset --hard ‘HEAD@{1}‘
java·git·intellij-idea
逛逛GitHub12 小时前
盘点本周 11 个 Star 攀升最多的 GitHub 开源项目。
github
蒲公英内测分发12 小时前
智能门锁量产时,工厂测试 App 一直在更新,产线怎么避免装错 APK?
服务器·人工智能·github·智能硬件·智能手表
长成一棵参天树13 小时前
React15 vs React16 核心区别
git·vscode
本地化文档13 小时前
llvm-libc-docs-l10n
c语言·github·gitcode·sphinx·llvm·crowdin
wflynn13 小时前
GitHub 日榜趋势速报 | 2026-10-21
开源·github