今天push的时候发现push不上去,经过一系列的操作,发现自己的head被指向在一个没有分支名称的修订版本上,此时我出于了游离状态(detached HEAD),应该就是这样导致我commit操作提交不到在任何分支上,想了一下应该是之前的git checkout操作造成的。因为git checkout本质上是修改HEAD里面的内容来让它指向不同分支的,而HEAD文件指向的分支就是我们当前的分支,但是有时候HEAD不会指向任何分支,这就是我遇到的情况了。
之后灵机一动,把这个head创建一个分支,在merge到master上就好了
$git branch temp 97e6710
使用git branch 分支名 操作ID 这句命令能够创建一个新的分支,但要注意此时我们还没有切换到这个分支上,这个分支上面代码跟我刚才提交完之后的一样.
$git checkout master
切换到master分支
$git merge temp
把上传commit合并到master分支
$git push
最后就可以push上去了
$git branch -d temp
接着把临时分支删除就好了
相关命令:
git status //查看git状态
git branch -a //查看所有分支
著作权归作者所有。
商业转载请联系作者获得授权,非商业转载请注明出处。
作者:JefskyWong ——程序猿甜品店
链接:https://www.jefsky.com/blog/196
来源:https://www.jefsky.com/