我正在运行子模块更新合并标志,以避免在分离的HEAD状态结束。
git submodule update --init --force --remote --merge
此时git status
返回On branch master
但是当我运行
git commit -m "commit message"
说
[detached HEAD 0375093] commit message
2 files changed, 89 insertions(+), 6 deletions(-)
为什么git commit会导致分离状态?
对于任何有此问题的人,以下是我所做的修复:
git add folder/file1.txt
git commit -m "made new changes"
git branch temp
git checkout master
git merge temp
git push origin master
git branch -D temp
在分离的HEAD状态下提交后,您将获得一个匿名分支。从这里你可以
- 创建临时分支
- Checkout out master
- 将临时分支(包含在分离状态下的提交)合并到master并推送到remote。
- 删除临时分支
问题仍然存在:为什么git submodule update --init --force --remote --merge
导致分离的头部状态?