三种命令都是回退到上一个版本
.为了试验 我新建了一个文件夹 名为 learngit 的版本库 ,我编写了一个名为 readme.txt 的文件 放在了这个版本库的子目录 里边的内容如下

现在,运行git status命令看看结果,在运行之前我已经改动了readme,txt 文件

git diff 命令可以查询改了哪些内容

再一次进行修改

在实际应用中,我们不可能记住这么多次的修改,这时候就需要用到 git log 进行查询历史记录
我一共修改了 三次

也可以用参数查询 git log --pretty=oneline

现在我想回到上一个版本 怎么办 可以用 git reset --hard HEAD^
回到了 laowang2
在Git中,用HEAD表示当前版本,也就是最新的提交afa5(注意我的提交ID和你的肯定不一样),上一个版本就是HEAD^, 上上一个版本就是HEAD^^, 当然往上100个版本写100个^比较容易数不过来,所以写成HEAD~100。

还有一种方法 精确回退 只要是命令窗口没有关闭 就可以使用 git rest --hard afa5 注意 afa5 是我的版本号 太长了 写四五个就行 。就可以精确返回你想要的版本

如果第二天 您想回到最新的版本 可以使用 git reflog 来查询记录你操作的每一次命令

总结
-
HEAD指向的版本就是当前版本,因此,Git允许我们在版本的历史之间切换,使用命令git reset --hard commit_id。
-
返回前,用git log可以查看提交历史,以便确定要回退到哪个版本。
-
要重返版本,用git reflog查看命令历史,以便确定要回到未来的哪个版本。
特别鸣谢
廖雪峰老师-Git教程
饥人谷 专业前端培训
网友评论