git checkout origin/dev 切换分支为什么是在HEAD上,而没有切刀dev上?
apple$ git checkout origin/dev
HEAD is now at 8047e0c... merge
apple$ git branch
* (HEAD detached from 1fd4922)
dev
feature/project
feature/supply
master
git checkout origin/dev 切换分支为什么是在HEAD上,而没有切刀dev上?
apple$ git checkout origin/dev
HEAD is now at 8047e0c... merge
apple$ git branch
* (HEAD detached from 1fd4922)
dev
feature/project
feature/supply
master
10 回答11.1k 阅读
5 回答4.8k 阅读✓ 已解决
4 回答3.1k 阅读✓ 已解决
2 回答2.6k 阅读✓ 已解决
3 回答5.1k 阅读✓ 已解决
3 回答1.8k 阅读✓ 已解决
4 回答2.4k 阅读✓ 已解决
1、HEAD类似于链表的头指针,也可以理解为栈顶指针,是指向你本地branch的最新记录,需要自己去理解。
2、没有切到dev是因为你的命令不正确,并不是切到dev的命令。
从brach可知,你本地已经有了dev,如果要切到dev,命令应该是:
git checkout dev
。而
git checkout origin/dev
意思是将本地git的头指针指向origin库的dev分支,而origin不是你本地的,只能指向它的id,并不能切过去。