一、基本语法与功能
git show 用于查看 Git 对象(提交、标签、分支等)的详细信息,包括提交元数据、变更内容及差异。
基本语法:
git show [选项] <对象>
- 对象:提交哈希、分支名、标签名、
HEAD或相对引用(如HEAD^、HEAD~2)。
二、常用用法与选项
1. 查看最新提交
git show
- 显示最新提交的作者、时间、提交信息及代码差异。
2. 查看指定提交
git show <commit-hash>
- 示例:
git show 4a1d3e1显示该提交的所有信息。
3. 查看提交中的文件修改
git show <commit>:<文件路径>
- 示例:
git show abc123:path/to/file.txt显示该提交中指定文件的修改内容。
4. 显示文件差异(Diff)
git show -p <commit>
- 显示提交与父提交之间的具体代码差异(补丁格式)。
5. 查看父提交
git show <commit>^ # 第一个父提交
git show <commit>~2 # 上溯两代提交
- 示例:
git show HEAD^查看当前提交的父提交。
三、高级选项
1. 统计信息(–stat)
git show --stat <commit>
- 显示提交涉及的文件及变更行数统计。
2. 仅文件名(–name-only/–name-status)
git show --name-only <commit> # 仅显示变更文件名
git show --name-status <commit> # 显示文件名及状态(A/M/D)
- 适用于快速查看哪些文件被修改。
3. 图形化历史(–graph)
git show --graph <commit>
- 以ASCII图形展示提交历史分支。
4. 格式化输出(–pretty)
git show --pretty=format:"%h - %an, %ar : %s" <commit>
- 自定义输出格式,常用占位符:
%h(短哈希)、%an(作者名)、%ar(相对时间)、%s(提交信息)。
四、实用场景示例
-
回溯提交历史
git show HEAD~3 # 查看当前提交的上溯第三次的提交 -
对比两个提交间的差异
git show commit1..commit2 -- <文件路径> -
查看标签信息
git show v1.0.0 # 显示标签v1.0.0对应的提交信息 -
恢复误删文件
git show <commit>:<文件路径> > 恢复文件名
五、注意事项
- 提交哈希:可使用前7位简写(如
abc1234→abc123)。 - 相对引用:
^和~用于导航提交历史,^表示父提交,~n表示上溯n代。 - 避免信息过载:优先使用
--stat或--name-status快速筛选变更。
通过灵活组合选项,git show 可高效定位代码变更、审查提交历史,是日常开发中不可或缺的工具。
Git Show 使用方法全解析
1043

被折叠的 条评论
为什么被折叠?



