在日常开发或文档协作中,经常需要从远程仓库拉取最新更新,但直接覆盖本地文件容易丢失自己的修改。这时候,看清“拉取更新”和“本地差异”就特别关键。
用 git fetch + git diff 查看差异
比起直接执行 git pull,先用 git fetch 把远程更新下载下来更安全。接着对比本地分支和远程分支的差别:
git fetch origin
git diff HEAD origin/main
这条命令会列出所有尚未合并的更改,包括新增、删除和修改的行。比如你改了配置文件的端口号,而同事也动了同一处,diff 结果里就会高亮冲突区域,提前预警。
图形化工具更直观
命令行看 diff 对新手不太友好,可以用 VS Code 内置的 Git 功能。打开源代码管理面板,点击“同步更改”旁边的下拉箭头,选择“查看差异”,就能并排看到本地和远程的改动。
比如你正在写一份产品说明文档,本地加了几段功能介绍,而远程版本更新了价格信息。通过图形界面,一眼就能看出哪些是自己写的,哪些是别人改的,避免误删。
只比对特定文件
有时候不需要看全部差异,只想确认某个关键文件是否冲突。可以指定文件路径:
git diff origin/main -- src/config.js
这样只显示 config.js 的变动,节省时间。尤其在大型项目中,精准比对能快速定位问题。
用 git status 确认本地状态
在拉取前,先运行 git status 看看本地有没有未提交的修改。如果有,建议先提交或暂存(git stash),否则合并时容易出错。
就像你正在填一份报销单,填到一半发现版本要更新,这时候先保存草稿再同步新模板,才不会白忙一场。
自动化脚本辅助检查
如果频繁处理多仓库同步,可以写个简单脚本自动拉取并对比:
#!/bin/bash
git fetch origin
echo "正在检查与 origin/main 的差异..."
git diff --name-only HEAD origin/main
这个脚本会列出所有有差异的文件名,适合快速扫描变更范围。
掌握这些方法后,再也不用担心拉取更新覆盖了自己的工作。看清差异,才能安心合并。