提交代码前先看一眼:Git Diff 让你清楚知道自己改了什么
使用 Git 管理项目时,很多初学者会直接修改文件,然后执行 git add 和 git commit。虽然这样可以保存代码,但如果修改较多,很容易忽略一些细节。
其实,只要养成提交前执行 git diff 的习惯,就能大幅减少这类问题。它不需要额外安装软件,只要项目已经使用 Git 管理,就可以直接使用。
一、Git Diff 到底是什么?
git diff 是 Git 内置的差异比较工具,主要用于查看两个版本之间有哪些变化。
它会用两种符号标记修改:
+:新增的内容。-:删除的内容。
例如,原来的文件是:
Hello World
Welcome to Git
修改后变成:
Hello World
Welcome to Git
Git is useful
使用 git diff 查看时,你会看到类似这样的结果:
Hello World
Welcome to Git
+Git is useful
这样就能快速知道自己新增了哪一行,而不必手动对照两个文件。
二、最常用的四个命令
1. 查看尚未暂存的修改
git diff
这是最基础的用法。
当你修改了已经被 Git 跟踪的文件,但还没有执行 git add 时,Git 会显示这些修改与暂存区之间的差异。
注意:新建但尚未被 Git 跟踪的文件,默认不会出现在普通的 git diff 结果中。
2. 查看已经暂存的修改
git diff --staged
也可以使用:
git diff --cached
这两个命令效果相同,都是比较暂存区与最近一次提交(通常是 HEAD)之间的变化。
什么时候使用?
当你已经执行 git add,准备提交代码时,可以运行这个命令,确认真正准备提交的内容。
这是一个非常值得养成的习惯。
3. 查看修改概况
git diff --stat
如果修改涉及很多文件,不想逐行阅读,可以使用这个命令。
它会显示每个文件修改了多少行,以及整体修改规模。
例如:
index.html | 10 +++++-----
style.css | 6 +++---
app.js | 8 ++++++++
3 files changed
适合快速了解一次修改涉及哪些文件。
4. 只查看修改过的文件名称
git diff --name-only
这个命令只输出文件路径,不展示具体内容。
如果你只想确认本次修改涉及哪些文件,它会比完整差异列表更加简洁。
三、动手练习:检查一次完整的修改
下面通过一个简单例子,把上述命令串联起来。
假设你有一个 Git 项目,里面包含 README.md 文件,原始内容如下:
# 我的学习笔记
正在学习 Git。
现在,你决定增加一行说明:
# 我的学习笔记
正在学习 Git。
每天练习一个新命令。
第一步:查看修改。
在项目终端执行:
git diff
你会看到新增的那一行以 + 开头。
第二步:把文件加入暂存区。
git add README.md
这一步不会立即创建提交,而是把当前文件内容放入暂存区,作为下一次提交的候选内容。
第三步:再次检查。
git diff --staged
这时应该看到刚才新增的文字。
为什么还要检查一次?
因为暂存区保存的是准备提交的内容。如果你在 git add 之后又修改了文件,那么工作区与暂存区就可能不一致。此时 git diff 可以查看后续修改,而 git diff --staged 则查看已经暂存的内容。
第四步:确认无误后提交。
git commit -m "更新学习笔记"
至此,一次简单的修改、检查和提交就完成了。
四、两个提高效率的小技巧
除了基本用法,还有两个值得了解的功能。
技巧一:检查多余空格问题
git diff --check
它可以帮助检查差异中的部分空白字符问题,例如行尾多余空格,避免一些不必要的格式问题。
在提交代码之前执行一次,通常是个好习惯。
技巧二:只检查指定文件
git diff -- README.md
如果项目文件很多,但你只关心某个文件,可以在命令后面添加文件路径。
查看已经暂存的指定文件,则可以使用:
git diff --staged -- README.md
这样就不必在大量修改中反复寻找目标文件。
五、提交前建立一个简单检查流程
日常开发中,可以把下面这组命令作为自己的提交检查清单:
git status
git diff
git add .
git diff --staged
git diff --check
git commit -m "描述本次修改"
其中,git status 用于了解文件状态,git diff 检查尚未暂存的修改,git diff --staged 检查准备提交的内容。
特别提醒:git add . 会将当前目录下符合条件的变更加入暂存区,使用前应确认没有把日志、临时文件、密钥或其他不需要提交的内容一起加入。对于重要项目,也可以改用 git add 文件名 精确选择文件。
总结: Git Diff 虽然只是一个简单的比较命令,却能帮助你看清每一次修改。记住 git diff 查看工作区、git diff --staged 查看暂存区、git diff --check 检查空白字符问题,养成提交前检查的习惯,就能让代码管理更加安全、有条理。
- 点赞
- 收藏
- 关注作者
评论(0)