git几个救急命令——恢复文件、查看历史、删追踪

一句话: 三个最常用的 git 救急操作——只恢复一个文件不切分支、不切分支查看老版本内容、删除误追踪的大文件。每次改坏代码时救命。

适合谁读:用 git 但只会 commit/push,改坏代码不知道怎么恢复的嵌入式开发者。

只恢复一个文件

改坏了main.c,不想切回整个分支——只恢复这一个文件的老版本:

git checkout <commit-hash> -- main.c

其他文件不受影响。比git reset --hard安全得多——reset 会把所有文件全滚回去。

看老版本内容不切分支

想看老版本里某文件长什么样,但不想切分支:

git show <commit-hash>:path/to/file.c

终端打印文件内容。看完 Ctrl+C 就回到当前——比 checkout 整个分支快。

大文件误追踪

.gitignore 没写好,PCB 文件、zip 包被 git 追踪了:

git rm --cached file.pcb # 从仓库删但保留本地文件 echo "*.pcb" >> .gitignore # 以后不再追踪

.gitignore要在首次 commit 前配好。已经提交过的大文件用rm --cached补救。

改坏代码的 SOP

cp file.c file.c.bak # 1. 备份当前 git checkout HEAD -- file.c # 2. 回滚到上次 commit # 编辑... # 如果又坏了: cp file.c.bak file.c # 3. 秒恢复到改之前

备份 + git = 两道保险。改坏也不怕。


有用的话点个收藏,下次调试直接用。有问题欢迎评论区交流,看到了都会回。