三种命令都是回退到上一个版本
.为了试验 我新建了一个文件夹 名为 learngit 的版本库 ,我编写了一个名为 readme.txt 的文件 放在了这个版本库的子目录 里边的内容如下
内容.png
现在,运行git status命令看看结果,在运行之前我已经改动了readme,txt 文件
改动.png
git diff 命令可以查询改了哪些内容
查询改动什么.png
再一次进行修改
修改3.png
在实际应用中,我们不可能记住这么多次的修改,这时候就需要用到 git log 进行查询历史记录
我一共修改了 三次
查询历史记录.png
也可以用参数查询 git log --pretty=oneline
参数查询.png
现在我想回到上一个版本 怎么办 可以用 git reset --hard HEAD^
回到了 laowang2
在Git中,用HEAD表示当前版本,也就是最新的提交afa5(注意我的提交ID和你的肯定不一样),上一个版本就是HEAD^, 上上一个版本就是HEAD^^, 当然往上100个版本写100个^比较容易数不过来,所以写成HEAD~100。
laowang2.png
还有一种方法 精确回退 只要是命令窗口没有关闭 就可以使用 git rest --hard afa5 注意 afa5 是我的版本号 太长了 写四五个就行 。就可以精确返回你想要的版本
精确返回.png
如果第二天 您想回到最新的版本 可以使用 git reflog 来查询记录你操作的每一次命令
记录命令.png
总结
-
HEAD指向的版本就是当前版本,因此,Git允许我们在版本的历史之间切换,使用命令git reset --hard commit_id。
-
返回前,用git log可以查看提交历史,以便确定要回退到哪个版本。
-
要重返版本,用git reflog查看命令历史,以便确定要回到未来的哪个版本。
特别鸣谢
廖雪峰老师-Git教程
饥人谷 专业前端培训













网友评论