我是靠谱客的博主 有魅力冰棍,最近开发中收集的这篇文章主要介绍 分离头指针,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

在使用 git 时,会冷不丁弹出一些术语,在之前可能没有听过,突然之间心情就紧张起来了。

其中就有一个分离头指针(detacged HEAD)

分离头指针

有时你在切换分支时,输了一个commit信息

git 给你的提示,你现在正在基于这个commit做操作。

你现在正处在分离头指针状态,你可以做一些变更然后产生commit,你也可以把生成的commit丢弃掉。也就是说你在分离头指针状态下,可以继续开发,但不影响其他开发,它的本意是:现在正在工作在没有分支的状态下。

下面具体演示下分离头指针的操作。

现在修改了 style/style.css 文件,并且commit

这时候用git log查看历史信息时,发现之前HEAD这变都会指向一个分支,然而这边却没有。这个就叫分离头指针状态

假设这是你接到了一个任务,需要切换分支

它会有一个警告说:现在有一个commit没有加到分支上去。也就是说这个commit一会会被垃圾清理掉。我们可以gitk --all来查看有没有add maincommit信息。

从上图可以看出,这个commit没有和某个分支绑着,也没有和某个tag绑着,在 git 眼里,这种commit日后都是要被清除的。

假如这个时候我醒悟过来了,觉得这个commit很重要,按照它的指示信息建一个分支,将它保留下来。

此时你可以看到add maincommit被保留了下来。

如果你想要添加到某个分支上,再用merge

比如你想添加到master分支上,将HEAD切换到master分支,然后用git merge css,就将这次commit添加到master上了。

进一步理解 HEAD 和 branch

git ckeckout -b fix_bug temp
//新分支
git diff commit信息 commit信息
//比较两个 commit 之间的差异
git diff HEAD HEAD^
//等价于下面这条命令
git diff HEAD HEAD~1
//等价于上面这条命令

最后

以上就是有魅力冰棍为你收集整理的 分离头指针的全部内容,希望文章能够帮你解决 分离头指针所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(40)

评论列表共有 0 条评论

立即
投稿
返回
顶部