赞
踩
有些时候我们在做一些开发工作时,可能会用到本地Git管理,即在一个目录中进行开发,并将这个目录作为Git的版本库目录。
本文以Windows下安装了TortoiseGit为例进行说明。
将任意一个空目录作为工作目录,在右键中选择“Git 在这里创建版本库”
然后在弹出的对话框中直接点击确定,不勾选“制作纯版本库(没有工作目录)”
然后我们就可以在工作目录进行相应的工作了。
假设我们有三个提交了,这些都是在本地Git中,没有远程Git。
此时,工作目录中有如下三个文件。
然后由于某种需要将版本重置到第一个提交。在日志窗口,选中第一个提交,在右键菜单中选择“重置"master"到此版本”,在“重置”对话框中选择重置类型为“硬重置”,即会将副本中的版本重置到第一个提交。
再次看日志的时候就会发现,只有一个提交了,它后面的提交都不见了。
再看工作目录中,只有一个文件了,之前的文件已经被删除了。
此时如果发现是一个误操作,或者需要再回到之前的工作节点,应该怎么办?日志中已经找不到之前的提交了,而且没有远程Git仓库,只有本地仓库。
昨天我就遇到这种情况了,以为我几天的工作白费了。后面想到了Git的引用记录功能,可以成功找回原来的提交记录。如图所示,在右键Git的菜单中选择“显示引用记录”
在弹出的对话框中可以看到所有的操作记录(只要自己没有手动删除)
其中,引用列的 HEAD@{数字},数字0表示最后一次操作,数字越大则为越久的操作。操作列为操作类型。
此时在操作列中选中最近一个的commit操作,在右键菜单中选择“重置"master"到此版本”,在“重置”对话框中选择重置类型为“硬重置”,就可以在日志中看到之前的提交了,同时工作目录中的文件也回来了。
由此可见,Git中的引用记录是非常的重要,如非必要千万不要去手动删除。
Windows下图形界面还是比较好操作,那命令行呢?
git log
查看当前副本日志,可以看到有3条提交记录
2. 使用
git reset
来重置到第一个提交
3. 再查看当前副本日志,可以看到只有一条提交记录了
4. 使用
git reflog
查看引用记录
5. 再使用
git reset
来重置到最后的提交记录
6. 查看当前副本日志,可以看到之前的所有提交记录了。
希望本文能帮助你成功找回之前的工作记录。
祝好!
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。