git checkout tag报错 * (no branch) 提示 detached HEAD

git clone Spark源码后想切换到指定的标签版本:2.0.2,但是一直切换不了,报错是:

[root@cm03 spark]# git checkout v2.0.2
Note: checking out 'v2.0.2'.

You are in 'detached HEAD' state. You can look around, make experimental
changes and commit them, and you can discard any commits you make in this
state without impacting any branches by performing another checkout.

If you want to create a new branch to retain commits you create, you may
do so (now or later) by using -b with the checkout command again. Example:

  git checkout -b new_branch_name

HEAD is now at 584354e... Preparing Spark release v2.0.2-rc3

Centos下Git切换tag失败
意思是说:
你现在所在的版本处于游离状态,也就是说你现在的代码版本与git仓库里的断开联系了,什么什么的。

然后就出现了git就处于: * (no branch)的状态的

[root@cm03 spark]# git branch
* (no branch)
  master

Centos下Git切换tag失败
查了很多资料,最后发现是因为:
tag标签相当于是一个快照,是不能更改它的代码的(玛尼,我只是想编译一想这个版本的程序而已),再加上git版本太低了(我是在Centos下操作的,使用的git是Centos自带的git ), 于是就报错了。
好了原因找到就好办了,解决办法有两种:
方法一:分析tag标签创建一个新的分支
既然tag只是代码的一个快照,那就把这个快照复制出来另行操作
git分析指定的tag标签创建分支的命令:

git checkout -b branch_name tag_name

branch_name是要创建的分支的名称
tag_name是tag标签的名称

方法二:升级git版本
参考:
http://mp.blog.csdn.net/mdeditor/index/79282643
再次git切换到指定的tag标签

## 切换到指定的tag版本标签
git checkout v2.0.2

## 查看是否切换成功
git branch

发现新版本的git只是警告而已,还是能切换到想要的tag上的
Centos下Git切换tag成功

  • 3
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值