今天切完分支之后执行git branch的时候遇到一个问题:
git branch
* (HEAD detached at origin/asd)
master
我们都知道,git checkout本质上是修改HEAD里面的内容来让它指向不同分支的,而HEAD文件指向的分支就是我们当前的分支,如果目前的分支名和上图的一致,那么你的这个分支当前已经处于游离状态了(detached HEAD)。这时候我们在进行commit操作不会提交到任何分支上去。
所以这时候你需要:
git checkout -b 分支名
这个时候你再执行git branch就恢复正常了
git branch
* asd
master
之后git就恢复正常啦,创建的新本地分支会自动去追踪到当前的远程分支。
其实最开始你最好就是用:
git checkout -b xxx(分支名) origin/xxxx(远程分支)
这样就会现在本地创建一个’xxx’的分支,之后会关联到远程分支。