本文将重点介绍 Git 中的 diff 命令,该命令用于查看仓库中不同版本间的差异。通过对比两个版本,可以清晰地了解文件内容的具体变化。当记不清某次提交修改了哪些内容时,只需用此命令与前一版本进行对比,即可清楚掌握所有变更细节,便于代码管理和问题排查。
1、 运行 git diff 命令时,若工作区与暂存区均无更改,命令将不输出任何内容。此时,若修改仓库中的某个文件,使工作区产生变更,再次执行 git diff,即可看到具体的修改内容。这说明,git diff 的作用是对比工作区与暂存区之间的差异,显示尚未暂存的更改。只要文件改动未被添加到暂存区,这些变更都会通过 git diff 显示出来,帮助开发者直观了解当前工作区中哪些内容发生了变化,便于决定是否将其纳入版本控制。
2、 当工作区修改的文件较多时,直接运行 git diff 会输出大量信息,难以分辨具体变化。此时可使用 git diff -- 文件名 的方式,精准查看指定文件的变更情况。支持同时指定多个文件,只需在命令后列出文件名即可。文件名允许使用通配符 *,方便批量匹配。注意命令中 -- 与文件名之间需保留一个空格,以确保语法正确,从而清晰、高效地对比特定文件的改动内容。
3、 当我们将部分修改通过 git add 添加到暂存区但尚未提交,之后又在工作区进行了其他更改,可能会忘记暂存区中具体包含了哪些改动。此时,可以使用 git diff --cached 命令查看已暂存但未提交的变更内容。该命令会显示暂存区与当前分支最新提交版本(即 HEAD 指向的版本)之间的差异,帮助我们清晰了解即将提交的更改内容,便于确认或调整提交范围。
4、 当暂存区修改较多时,直接运行 git diff --cached 会输出大量内容,显得杂乱无章,影响阅读。此时可通过指定文件的方式,精准查看变更情况。使用 git diff --cached -- 文件名1 文件名2 的格式,仅对比特定文件的修改。支持使用通配符 * 匹配多个文件,灵活便捷,有效提升查看效率,避免信息过载,让代码审查更加清晰有序。
