作者热门文章
- c - 在位数组中找到第一个零
- linux - Unix 显示有关匹配两种模式之一的文件的信息
- 正则表达式替换多个文件
- linux - 隐藏来自 xtrace 的命令
我创建了一个新分支。
修改后我想把分支推送到服务器
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
我在哪里犯了错误?
最佳答案
我认为在您创建了新分支“malix1.0”之后,您以某种方式设法将存储库放在了所谓的 "detached HEAD" 中。状态,因此您的新提交未记录在该分支上。
然后,当您运行 git push origin malix1.0
时,Git 获取该“malix1.0”分支的内容并尝试更新远程存储库中的同名分支。由于该分支与其在远程仓库中的匹配分支相比不包含任何新内容,因此没有任何反应。
要摆脱这种情况,请执行以下操作:
从当前状态创建一个分支:
git branch temp
否则,您将需要依赖 git reflog
功能来在 checkout 分支后保留您的工作。
用您的工作更新您的“mailx1.0”分支:
git checkout mailx1.0
git merge temp
也就是说,您 checkout 旨在接收新提交的分支,然后 merge 到实际持有这些提交的临时分支中。
删除临时分支:
git branch -d temp
不再需要此分支,因为它包含的与“mailx1.0”相比的工作现在也在那个“mailx1.0”分支上。
推出更新后的分支:
git push origin mailx1.0
关于git - 我怎样才能推一个新的分支?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16240421/
我是一名优秀的程序员,十分优秀!