Git 提交时不小心把本地 CSS 修改覆盖了怎么办?
我刚在本地改了一段按钮样式,结果 git pull 的时候没注意,直接把我的修改给覆盖掉了,现在文件变回之前的样子了。我还没 add 过,还能找回吗?
我改的是这个部分:
.btn-primary {
background-color: #007bff;
border: none;
padding: 8px 16px;
border-radius: 4px;
color: white;
transition: background-color 0.3s ease;
}
.btn-primary:hover {
background-color: #0056b3;
}
没add过的改动,git根本没记录,所以git本身是救不了你的。git只管已经被追踪的内容,工作区的东西对它来说就是空气。
不过别急着放弃,还有几条路可以试试。
第一,看看你的编辑器有没有本地历史。如果你用的是VSCode,右键文件找Timeline面板,它会自动记录文件的修改历史,就算git没存,编辑器自己可能存了。WebStorm或者其他JetBrains系的IDE更强大,右键文件选Local History,基本都能找回之前的版本。
第二,检查一下有没有开启VSCode的自动保存或者文件备份。有些编辑器会在特定目录保存历史版本。
第三,如果你用的Mac,Time Machine有开的话也能翻翻看。
实在找不到,那就只能重写了。看你贴出来的代码也不算复杂,就一个主样式加一个hover状态,十分钟就能手写回来。下次记得,pull之前先git stash把改动暂存起来,或者干脆先commit,别让辛苦写的代码裸奔在工作区。
吃一堑长一智吧,这种亏我也吃过好几次,现在都养成肌肉记忆了,动手之前先stash。