本文共 870 字,大约阅读时间需要 2 分钟。
例如你玩游戏时,每通过以关就会自动把游戏状态存盘,如果某一关没有过去,你还可以选择读取前一段的状态。有些时候,再打 Boos 之前,你还会手动存盘,万一打 Boos 失败了,可以方方便从最近的游戏关卡重新开始。
Git 同样也是这个道理,每当你觉得文件修改到一定程度的时候,你就可以 “保存一个快照”,这个快照在 Git 中被称为 commit
。一旦你把文件该乱了,或者误删了文件,还可以从最近的一个 commit
恢复,然后继续工作,而不是把几个月的工作成果全部丢失。
在实际工作中,由于我们提交的文件修改内容可能会很多,可以使用 git log
命令查看。
# 显示从最近到最远的提交日志git log # 以简洁的形式显示日志git log --pretty=oneline
当我们要回退到上一个版本,可以使用 git reset
命令:
# 回退到上一个版本git reset --hard HEAD^# 回退到指定版本【commitID】是使用 git log 命令显示出来的提交 IDgit reset --hard commitID
在 Git 的内容有个指向当前版本的 HEAD
指针,当你回退版本的时候,Git 只是把 HEAD
从 append GPL
:
add distributed
然后再将工作区的文件进行更新,所以你让 HEAD 指向哪个版本号,就会定位到哪个版本。
假如:你回退到某个版本,然后又想恢复到新版本,但是找不到 commit id
怎么办?
我们可以使用 git reflog
命令
# 用于记录你的每一次命令git reflog
HEAD
指向的版本就是当前版本,因此,Git 允许我们在版本的历史之间穿梭,使用命令 git reset --hard commit_id
。git log
可以查看提交历史,以便确定回退到哪个版本。git reflog
查看命令历史,以便确定要回到未来的哪个版本。转载地址:http://bvqwi.baihongyu.com/