我创建了一个新分支。
经过一些修改后,我想将分支推送到服务器
git commit -m 'New branch'
13 files changed, 694 insertions(+), 36 deletions(-)
git push origin malix1.0
Everything up-to-date
为什么一切都是最新的?
git branch
* (no branch)
malix1.0
我在哪里犯错误?
答案 0 :(得分:3)
我认为在您创建新分支“malix1.0”之后,您以某种方式设法将存储库置于所谓的"detached HEAD"状态,因此您的新提交未记录在该分支上。< / p>
然后,当你运行git push origin malix1.0
时,Git会获取该“malix1.0”分支的内容并尝试更新远程存储库中同名的分支。由于与远程仓库中的匹配分支相比,分支不包含任何新内容,因此没有任何反应。
要摆脱这种情况,请执行以下操作:
使分支超出当前状态:
git branch temp
否则,在签出分支机构后,您需要依靠git reflog
功能来掌控您的工作。
使用您的工作更新“mailx1.0”分支:
git checkout mailx1.0
git merge temp
也就是说,你查看了用于接收新提交的分支,然后合并到实际持有这些提交的临时分支中。
删除该临时分支:
git branch -d temp
不再需要这个分支,因为与“mailx1.0”相比,它所包含的工作现在也在“mailx1.0”分支上。
推出更新的分支:
git push origin mailx1.0