本地未commit的文件被pull误覆盖的后悔药
2020-04-27 本文已影响0人
microkof
前言
有一阵不搞git,竟然忘了操作流程,这里再重复一遍:
先 commit,这一步肯定是无害的,放心做。然后再pull,解决冲突之后,再push。
如果先pull,而且点击了不解决冲突,那么未暂存的文件都被盖掉了,怎么办?
搜索了半天,似乎没有后悔药,因为这些文件被视为自主放弃了。
就真的没办法了么?
肯定有!
对于java开发者来说,IDEA就自带后悔药
具体不多说,去百度吧。
对于前端开发者来说,如果你用的VS Code,也自带后悔药
误覆盖之后,不要修改任何代码,直接点开VS Code左侧的“源代码管理”,会将未跟踪的和已修改的文件全列出来。
首先说,未跟踪的是你最近新建的文件,它们是你独有的,不可能被覆盖掉,也不用任何操作,它们还老老实实在那里。
然后说,对于已修改的文件,你鼠标悬停上去,会发现一个+号,也就是“暂存修改”,点击它,那么你原来的文件就回来了。
你很可能会说,点击“放弃更改”才对呀?错错错!说实话我也不了解为什么应当点击“暂存修改”而不是“放弃修改”,但事实就是这样。如果你依然不信,你可以这样:
-
将全体代码复制出来(别复制node_modules),加上.git文件夹也复制。
-
双击“源代码管理”里的某个已修改的文件,右边会出现左右代码对比,右侧的就是你的老代码,你自己看看就知道。然后,将右侧代码复制到你的备份文件夹的对应文件里。直到所有文件被成功还原。
-
到此你就可以以备份文件夹作为正式项目工程来用了,但是现在你可以测试一下,到底是应该点击“暂存更改”还是“放弃更改”。当然了,你最好是听我的,点击“暂存更改”,然后你去打开该文件,看看是不是老文件回来了?