自学内容网 自学内容网

Git版本控制 – 使用HEAD

Git版本控制 – 使用HEAD

Version Control by Git - Using HEAD

By Jackson@ML

在使用Git进行版本控制过程中,Git中HEAD的作用至关重要。因此,理解和使用HEAD对有效管理repository非常重要。

本文简要介绍HEAD在Git版本控制中的概念和作用,以及一些具体示例,希望对读者有所帮助。

1. Git HEAD定义

在Git中,HEAD就是在repository中当前check-out的一个引用。例如:C语言中的指针概念,和HEAD类似但不完全等同。

2. Git中HEAD流程

HEAD即对当前项目中repository,当使用checkout命令动作时,对commit的引用。基本上是指向该branch中最新commit的指针或符号引用。每一次切换branch或者checkout时,HEAD都会相应地移动变更,以指向相关的commit。

对于当前checkout的branch,它的最新commit由HEAD表示,并且其哈希ID(Hashed ID)也会相应改变。从某种程度讲,指向任何引用的指针。”current branch”(当前分支)可被视为HEAD。

当我们使用”checkout”命令切换branch时,HEAD将移动到新的branch,新的HEAD对应的哈希ID随之改变。

在这里插入图片描述

3. HEAD示例

1) 安装Git

安装Git到计算机,具体安装过程参照以下文章:

安装完毕后,打开Git Bash终端;使用以下命令得知当前路径:

$ pwd

可以看到目前的路径是/administrator。

2) 创建和测试本地repository
  • 创建项目文件夹
$ mkdir projects
  • 切换到项目文件夹
$ cd projects
  • 查看文件列表
$ ls -la
  • 切换到测试用repository文件夹test-repo
$ cd test-repo

操作结果如下图所示。

在这里插入图片描述

3) 创建branch

原先项目默认创建的branch是main, 现在根据需要,要创建新的branch

  • 查看当前git branch及状态
$ git branch
$ git status

结果如下图所示。
在这里插入图片描述

  • 创建一个新的branch,名为testing
$ git checkout -B testing

在这里插入图片描述
创建新的branch后,利用git branch可以查看到当前branch是testing。

  • 查看新增branch的HEAD信息
$ cat .git/HEAD

得到结果如下图所示。
在这里插入图片描述

  • 切换branch返回到main,再查看HEAD信息
$ git checkout main
$ cat .git/HEAD

在这里插入图片描述
经过比较,可以明显看到不同branch的HEAD信息不同。

  • 比较HEAD的哈希ID
1)查看当前main branch的哈希ID值。
$ cat .git/refs/heads/main

在这里插入图片描述
得到结果是以25efaed开头的单一哈希ID值。

2)切换到testing的branch,再查看HEAD信息和哈希ID。
$ git checkout testing
$ cat .git/refs/heads/testing

在这里插入图片描述
得到结果是以7cbff开头的单一哈希ID值。说明HEAD的引用值改变了,因为此时变更到新的branch了,引用也改变了。

技术好文陆续推出,敬请关注和点赞。
您的认可,我的动力!😊

相关阅读:

  1. 2025最新版Git安装使用指南
  2. Git版本控制 - 创建使用repository
  3. Git版本控制 - 创建和维护项目repository

原文地址:https://blog.csdn.net/jackson_lingua/article/details/145219137

免责声明:本站文章内容转载自网络资源,如侵犯了原著者的合法权益,可联系本站删除。更多内容请关注自学内容网(zxcms.com)!