【Day12】Git 版本控制 - git checkout 移动 head

什麽是 head?

我们在 commit 版本时,其实是将档案 commit 到一条 branch(分支) 上,而 head 指的就是「现在档案的 branch 和版本的位置」(白话意思就是现在的档案是哪条 branch 上的哪个版本)

假设目前 branch 只有 master 这条分支,而 head 位置在 v4 上,但现在 v4 的 code 修改坏了!需要回到上一个版本查看该怎麽做呢?

没错!就是把 head 移到 v3 的位置就可以了。

讲解完什麽是 head 後,来看看如何用指令移动 head 吧!


首先,想要移动 head 前,我们可以先使用以下指令确认 head 目前的位置在哪里:

Linux、macOS 用法

cat .git/HEAD

Windows 用法

type .git\HEAD

输入以上指令後会得到下图的回馈

这段回馈的意思是 head 现在指到的位置为 master 这条分支,但这样我们还是不知道指到的版本在哪里,所以这时就要使用到 git log 这个指令了!

透过 git log 这个指令就可以查询到之前 commit 的 SHA-1 编号,透过这个编号就可以让 head 移动到指定的版本了!

git checkout <指定 commit SHA-1>

这样就从原本的 v2 版切换到 add main.py 版了!

若想要回到最新版本的话,不需要像上面一样先查询 commit 的 SHA-1 编号,只要输入以下指令就可以直接将 head 移动到最新版本罗!

git checkout master

Reference

【冷知识】HEAD 是什麽东西?


<<:  Day 12 : 如何正确使用 Zettelkasten 笔记法?了解 4 种笔记形式的功能,以利後续笔记连结

>>:  Spring Framework X Kotlin Day 22 Spring Cloud

[Android Studio 30天自我挑战] Progress Bar练习2

上一篇的ProgressBar练习是以Horizont的方式 这篇是以环形转圈圈的ProgressB...

Day 02-是在 Hello?什麽都要 Hello 一下之 Hello Terraform

软功就是什麽都要 Hello 一下之 Hello terraform 这张就会开始动手做了,还没设定...

Day 3 ROS 安装

今天要来说明 ROS 怎麽安装,今天会分成 Ubuntu18.04 跟 Windwos 两个版本来讲...

3D 物件档案 — .obj

大家好,我是西瓜,你现在看到的是 2021 iThome 铁人赛『如何在网页中绘制 3D 场景?从 ...

设定字体颜色及文字大小、行距及间距

设定基本段落样式,字体大小、行距及行距设定方式以及嵌入google font方式 设定基本字体 f...