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了,引用也改变了。
技术好文陆续推出,敬请关注和点赞。
您的认可,我的动力!😊
相关阅读:
原文地址:https://blog.csdn.net/jackson_lingua/article/details/145219137
免责声明:本站文章内容转载自网络资源,如侵犯了原著者的合法权益,可联系本站删除。更多内容请关注自学内容网(zxcms.com)!