git 退回版本后成游离状态,提交推送的办法

我在IDEA下退回某版本,后发现状态为游离,实际就是使用checkout命令导致的。

git checkout本质上是修改HEAD里面的内容来让它指向不同分支的,而HEAD文件指向的分支就是我们当前的分支,但是有时候HEAD不会指向任何分支,严谨的说是HEAD指向了一个没有分支名字的修订版本,此时恭喜你,已经处于游离状态了(detached HEAD).这时候我们在进行commit操作不会提交到任何分支上去。
在这里插入图片描述
这时候,想推送到远程主分支上就不行了。
解决办法:

创建一个分支,使现在的版本有了分支

git checkout -b temp

然后删出原来的主分支master

git branch -D master

新创建的分支重命名为 master

 git branch -m tempn master

最后强制提交到远程分支上,原来退回分支的版本之后的记录都没了,只有现在新提交的了

git push origin master --force

猜你喜欢

转载自blog.csdn.net/Fire_Sky_Ho/article/details/119680661
今日推荐