04_Git版本控制

256 阅读3分钟

什么是版本控制?

背景紧接上回,背景回退到我们在开发邮箱1.1的时候:

  1. 假设我们在develop分支开发邮箱1.1时,发现这个设计逻辑不如前两天写的,或者说写错了。
  2. 但是要回退需要ctrl+z很久,甚至有时候z不了,这时候我们就可以使用git的版本回退功能。
  3. git在每一次commit的时候就会提交一个历史版本,每一个历史版本都有对应的hash值进行记录。
  4. 所以我们打算回退到原先版本,就可以使用不同版本的唯一hash值进行版本回退。

git在版本管理中有个叫HEAD的标记,这个标记就是指向当前版本。同样,那就可以更改指向,回退版本。

如何查看历史版本记录?

使用git log即可,这里以01-Git初体验通篇案例为例

minor cell@MinorCell MINGW64 /f/IT/test/test (develop)
$ git log
commit d3144f7259fb5ab3e716b6e4def7cc590403ea91 (HEAD -> develop, origin/develop)
Author: minorcell <minorcell6789@gmail.com>
Date:   Sat May 11 14:35:55 2024 +0800

    style: 修改样式

commit e4cc3de5537b5b74778f52e82df10bda1e5db125 (origin/main, origin/HEAD, main)
Author: minorcell <minorcell6789@gmail.com>
Date:   Sat May 11 13:48:57 2024 +0800

    feat: 新建测试样本

commit 34e34ab64b38a0635d4f5af5deb56eed32ed8b67
Author: cell <120795714+minorcell@users.noreply.github.com>
Date:   Sat May 11 13:36:14 2024 +0800

:...skipping...
commit d3144f7259fb5ab3e716b6e4def7cc590403ea91 (HEAD -> develop, origin/develop)
Author: minorcell <minorcell6789@gmail.com>
Date:   Sat May 11 14:35:55 2024 +0800

    style: 修改样式

commit e4cc3de5537b5b74778f52e82df10bda1e5db125 (origin/main, origin/HEAD, main)
Author: minorcell <minorcell6789@gmail.com>
Date:   Sat May 11 13:48:57 2024 +0800

    feat: 新建测试样本

commit 34e34ab64b38a0635d4f5af5deb56eed32ed8b67
Author: cell <120795714+minorcell@users.noreply.github.com>
Date:   Sat May 11 13:36:14 2024 +0800

    Initial commit
~
~
~
~
~
~
(END)...skipping...
commit d3144f7259fb5ab3e716b6e4def7cc590403ea91 (HEAD -> develop, origin/develop)
Author: minorcell <minorcell6789@gmail.com>
Date:   Sat May 11 14:35:55 2024 +0800

    style: 修改样式

commit e4cc3de5537b5b74778f52e82df10bda1e5db125 (origin/main, origin/HEAD, main)
Author: minorcell <minorcell6789@gmail.com>
Date:   Sat May 11 13:48:57 2024 +0800

    feat: 新建测试样本

commit 34e34ab64b38a0635d4f5af5deb56eed32ed8b67
Author: cell <120795714+minorcell@users.noreply.github.com>
Date:   Sat May 11 13:36:14 2024 +0800

    Initial commit

可以看到里面详细记录了很多,但是看着主观上不好看。于是使用git log --oneline来格式化;

格式化之后生成仅一行,包含: 哈希索引值、提交分支、提交注释等。

如何版本控制?

前面我们通过git log --oneline查看了提交记录,那么就可以根据日志内容来进行版本回退操作。

主要使用的命令是:git reset --hard 【哈希索引值】,此命令会更改工作区代码、暂存区代码等等。

回退的命令有很多,但是用hash值得最方便,最全能。

演示:

由此,版本回退完成。