解决git中的detached问题
闲来没事,优化了一下自己的博客站点,一通操作之后,不小心从主项目把子模块的代码也提交上去了。
但是站点并没有更新,一番搜寻过后,才明白,对于主项目的提交(多此一举),子模块并不领情,结果就导致了子模块处于detached(游离)状态。
颇有一种儿子对爸爸的面面俱到产生的抗拒心理在里头,还真是。。多事。
git处于游离状态下,是不能够提交更新代码的。
下面记录下解决方案,防止健忘。
- 使用
git status
查看是否处于游离状态。出来的一串英文有detached就表明处于游离状态。 - 使用
git branch
查看分支状态。一个主分支main,一个游离分支。 - 使用
git branch temp
创建临时分支。 - 使用
git checkout temp
将当前代码复制到temp分支。 - 使用
git checkout main
切回到主分支。 - 使用
git merge temp
将mian与temp两分支合并。 - 没有冲突的话使用
git push origin main
提交代码。 - 使用
git branch -d temp
删除临时分支。 - 去到仓库,发现代码上传成功。