软件帮帮网
柔彩主题三 · 更轻盈的阅读体验

命令行撤销修改操作:这些技巧让你不再手忙脚乱

发布时间:2025-12-11 22:10:22 阅读:269 次

你有没有过这样的经历?在终端里改完代码,一通操作猛如虎,回头一看,关键文件被删了或者改错了。这时候别慌,命令行其实自带“后悔药”,掌握几个关键命令,分分钟把误操作找回来。

git checkout 拯救误改的文件

如果你在项目里用 Git 管理版本,不小心改错了一个配置文件,比如 app.js,想恢复到上次提交的状态,直接用:

git checkout -- app.js

这条命令会把工作区里的修改丢掉,还原成最近一次 commit 的样子。就像你写文档时点了“恢复上一版本”,特别适合手滑删代码的场景。

用 git reset 回退未提交的改动

有时候你改了一堆文件,还执行了 git add .,但突然发现方向错了。这时候可以用:

git reset HEAD~1

它能把你最后一次提交也撤回来,所有改动回到暂存区或工作区。如果只是想取消 add,保留修改,就用:

git reset app.js

这样文件的修改还在,但不再准备提交。

rm 之后还能找回吗?回收站来帮忙

Linux 和 macOS 默认的 rm 是真删除,不像图形界面扔进回收站。但你可以提前设个“保险”——用 trash-cli 工具替代 rm

先安装:

npm install -g trash-cli

以后删文件就用:

trash important-file.txt

删掉的文件会进系统回收站,万一误删,去图形界面的废纸篓里捞一下就行。

编辑器临时救场:vim 的 undo 功能

你在终端用 vim 改配置,一通删除后发现删多了。别急着退出,vim 本身支持 undo。按下 Esc 进入命令模式,输入:

u

就能一步步撤销刚才的操作。多按几次,慢慢回退,比重写快多了。

历史命令也能“撤销”?用 ! 来重跑

有时候你不是要撤销,而是想快速执行上一条命令的反向操作。比如你刚把文件复制到了错误目录:

cp config.prod /etc/app/

想删掉它,可以结合历史命令:

!!:s/cp/rm/

这行的意思是“把上条命令的 cp 替换成 rm”,自动执行 rm config.prod /etc/app/,省得你重新敲一遍。

命令行不是只能前进不能回头。只要工具用得巧,误操作根本不算事。平时多试试这些命令,关键时刻才不会抓瞎。