Git的功能之版本回退

一、版本回退
我们用readme文件举例子,修改好内容之后,重新提交
git add readme.txt
git commit -m "说明"

返回结果

我们可以多修改几次,来试一下版本回退功能
修改之后的git log,按Q推出

回到上一个版本git reset --hard HEAD^

终端截图

cat命令查看文件内容

以此类推回到上上个版本就是git reset --hard HEAD^^
当往上的版本比较多,比如往上50个版本的时候我们用git reset --hard HEAD~50

退回以后出现一个奇怪的事情,我们再执行git log命令发现看不到第三版了

git log结果

这时,我们想要回到第三版需要用以下命令来
git rest hard 63ef
63ef是第三次提交时的版本号,我们没必要去写全,git会自动检索,但也不能只写一两位。因为版本号多了会有重复的。

恢复到第三版

  • 问题①:如果我们没有记录被恢复版本的版本号,怎么找回呢?

Git提供了一个命令git reflog,通过这个命令我们可以看到每次git的操作记录

  • 问题②:如果我们通过git回到第一版,那么git log命令还能看到第二版吗?

小结:

  • HEAD指向的版本就是当前版本,因此,Git允许我们在版本的历史之间穿梭,使用命令git reset --hard commit_id

  • 穿梭前,用git log可以查看提交历史,以便确定要回退到哪个版本。

  • 要重返未来,用git reflog查看命令历史,以便确定要回到未来的哪个版本。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

友情链接更多精彩内容