Git-版本回退

学习笔记,质量不高,纯属加深个人理解,请勿浪费时间阅读。

git diff

$ git diff filename 

Git-版本回退_第1张图片

git log

查看版本提交历史记录,其中commit_id 可用以回退版本

$ git log

Git-版本回退_第2张图片

git log –pretty=oneline (界面美观=设置1行显示)

$ git log --pretty=oneline

--pretty=oneline

版本回退

使用 reset --hard HEAD^, HEAD 目前指向 commit_D29ED8…..(上一次提交)

$ git reset --hard HEAD^

关于hard后面再说
此处HEAD^^代表上一次提交,如果^^即上上次,假设有100次,HEAD~100方式处理会更好

回到过去-再穿越时空回到未来

假设有三个分支

  1. a(head)
  2. b
  3. c

目前head在A分支中。如果我们reset --hard HEAD^即把当前的(head)指向B中。那么A分支便会”消失”,如下图

  1. b(head)
  2. c

如果再次回到A分支,有两种选择

第一种:假设未关闭窗口,直接输出git log找到其分支的 commit_id,然后git reset --hard

git reflog 记录每一次命令

使用以下命令

$ git reflog 

得出当前提交的信息
Git-版本回退_第3张图片

此时使用commit_id前缀即可回滚到指定的版本。

Git-版本回退_第4张图片

小结

  • HEAD指向的版本就是当前版本,因此GIT允许我们在版本的历史之间穿梭,使用git reset --hard commit_id
  • 穿梭前,使用git log查看提交历史,以便回退到哪个版本
  • 要重返未来,使用git reflog查看命令历史,以便回到哪个版本
  • git commit时尽量详细描述,便于回退版本时方便自己查找

你可能感兴趣的:(Git)