打开git库文件,可以看到文件夹内的所有文件都没了,只有一个git仓库还存在。
这时在文件夹上右击,在d出的菜单中选择"Git Bash Here"这一项。
进入Bash页面后,我们执行ls *** 作,可以发现,文件夹下同样不存在文件。
这时我们再执行git reflog。
reflog它会记录所有HEAD的历史,也就是说当你做 reset,checkout等 *** 作的时候,这些 *** 作会被记录在reflog中。
如果我们要找回文件,只需要做如下 *** 作(*表示上一步中出现的log号):
git reset --hard *
我们再次执行ls *** 作,可以发现文件已经还原回来了.
所以,如果因为reset等 *** 作丢失一个提交的时候,你总是可以把它找回来。
如果不小心误删了某个文件或文件夹时,可以通过git *** 作来恢复。1.git status
查看本地改动的状态,如下图所示,误删了文件夹"approving" (文件"information.vue")
2.git reset HEAD 被删除的文件或文件夹
以这个为例,先后执行这两个:
git reset HEAD src/views/crm/components/approved/index.vue
git checkout src/views/crm/components/approved/index.vue
以下就是恢复的文件
我的博客的源地址,希望大家照顾一下~
这里要研究的问题是,如果我们在之前的某一个提交中删除了一个文件,如何使用git将此文件恢复出来。
首先我们要做的是找到当时删除的这个文件对应的提交。比较简便的方法是使用一些图形化的Git软件,可以直接浏览找到对应的提交。这些软件包括SourceTree,Github Desktop等。纯命令行的环境可以使用如下的命令:
在找到对应的提交后,使用如下命令:
注意一下,这里的 $commit 指的是对应的commit id。后面的 ~n 是git的一种语法,表明追溯某个提交的第 n 个祖先。详情可以参考 Git Treeishes Considered Awesome 。那这里的意思就是检出删除这个文件的提交的上一个提交(届时那个文件还存在)中的对应文件。
参考链接
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)