说明:在开发中,因为项目会有许多子项目在其中,且多人协同开发时,当我们执行
git submodule update 来更新子项目的代码的时候,git总会将分支切到一个游离的分支,有时候我们没注意,在游离的分支上开发了代码,然后就需要将代码push到主线上,直接push是不会成功的,如下图:

那么我们就来解决一下这个问题。
1.查到commitID
执行git log

2.然后将这个提交加入一个新分支test
执行git branch test(新的分支名字) commitID,我们清晰的看到已经有了新的分支test,我们切换到test上看一下,新的代码果然都在,然后就是正常的步骤了。

3.merge合并
切换到master,使用git merge test将分支代码合入了master

到这里就已经成功push到主线了










