有些时候我们在做一些开发工作时,可能会用到本地Git管理,即在一个目录中进行开发,并将这个目录作为Git的版本库目录。 本文以Windows下安装了TortoiseGit为例进行说明。 将任意一个空目录作为工作目录,在右键中选择“Git 在这里创建版本库”

然后在弹出的对话框中直接点击确定,不勾选“制作纯版本库(没有工作目录)”

然后我们就可以在工作目录进行相应的工作了。 假设我们有三个提交了,这些都是在本地Git中,没有远程Git。

此时,工作目录中有如下三个文件。

然后由于某种需要将版本重置到第一个提交。在日志窗口,选中第一个提交,在右键菜单中选择“重置"master"到此版本”,在“重置”对话框中选择重置类型为“硬重置”,即会将副本中的版本重置到第一个提交。

再次看日志的时候就会发现,只有一个提交了,它后面的提交都不见了。

再看工作目录中,只有一个文件了,之前的文件已经被删除了。

此时如果发现是一个误操作,或者需要再回到之前的工作节点,应该怎么办?日志中已经找不到之前的提交了,而且没有远程Git仓库,只有本地仓库。

昨天我就遇到这种情况了,以为我几天的工作白费了。后面想到了Git的引用记录功能,可以成功找回原来的提交记录。如图所示,在右键Git的菜单中选择“显示引用记录”

在弹出的对话框中可以看到所有的操作记录(只要自己没有手动删除)

Windows下图形界面还是比较好操作,那命令行呢?

  • 使用
1git log

查看当前副本日志,可以看到有3条提交记录 2. 使用

1git reset 

来重置到第一个提交 3. 再查看当前副本日志,可以看到只有一条提交记录了 4. 使用

1git reflog

查看引用记录 5. 再使用

1git reset 

来重置到最后的提交记录 6. 查看当前副本日志,可以看到之前的所有提交记录了。

希望本文能帮助你成功找回之前的工作记录。

祝好!