git 提交时报错 error: failed to push some refs to ‘https://github.com/xxx/demo.git 解决方法
1. 前言
本文解决由于git 处于游离状态下不能提交代码的问题。文章由导致原因,解决方法和思考三个内容组成。
2. 问题复现
我们从远程仓库 clone 代码下来,进行需求开发,可能进行了以下步骤。
(1)git clone https://github.com/xxx/demo.git
这时候将远程仓库的默认分支克隆下来了,本文中的默认分支时master分支,但是我需要基于feature分支或者其他分支进行开发。所以有接下来的动作。
(2)git checkout origin/newbranch1
将远程的 newbranch1 分支 checkout。问题就出现在这里。不管是记错命令还是因为不熟git都可能会出现这样的失误。
这个命令将导致git 的HEAD指向远程分支,是处于一个游离状态,如果只是看代码这个动作是OK的,但是要基于此进行开发那是有些问题的。通过git branch
命令来看git的分支状态,可以看到HEAD detached at origin/newbranch1
,如下图所示。
(3)然后你忙活了一天写了很多东西,熟练的git add、git commit、git pull
,到git push origin xxx
的时候出问题了:
error: src refspec newbranch1 does not match any.
error: failed to push some refs to 'https://github.com/xxx/express-sequelize-mysql-demo.git'
怎么解决呢?
3. 解决方法
注意,一定要将修改的代码提交到本地仓库区,否则接下来的动作可能导致你的代码没了!
注意,一定要将修改的代码提交到本地仓库区,否则接下来的动作可能导致你的代码没了!
注意,一定要将修改的代码提交到本地仓库区,否则接下来的动作可能导致你的代码没了!
将修改的代码提交到本地仓库区,就是要执行git add . git commit
动作。
接下来是解决问题的步骤了:
(1)新建本地分支git branch temp
,新分支会记录你修改的代码,不能直接checkout到其他分支,不然你的代码要没有了。
(2)我们要提交代码到newbranch1分支(你想要提交代码的目标分支名称),那么执行git branch newbranch1
。
执行这一步,git会在本地仓库建立一个newbranch1的分支,并关联到远程仓库的newbranch1分支。
(3)切换到newbranch1分支,执行 git checkout newbranch1
。
(4)将temp临时分支与newbranch1分支合并,git merge temp
。
(5)看看代码,是不是ok了,你会发现是的,没错了。那拉取一下git pull origin newbranch1
,再git push origin newbranch1
就提交上去了。
(6)删除本地临时分支,它没有价值了,git branch -d temp
。
到这里就全部解了,但还是要思考一下如何避免问题的出现。
4. 一些思考
我们如果要基于某个分支进行开发,不要执行2 -(2)中的git checkout origin/newbranch1
命令,这将导致git指向游离状态,在一些多人协作的复杂场景下是需要用到了,但如果只是较为简单的小项目上我们可以这么做:
(1)git clone下来之后,通过git checkout newbranch1
就能直接检出并切换到远程仓库的newbranch1分支了。这个方法的话,没有newbranch1会自动创建并切换到该分支。
(2)当然,还有个方法。就是通过git branch newbranch1
创建分支,然后再切换到分支git checkout newbranch1
。
还是要拿个仓库动手试试才能明白,光看这个你就可能晕掉了,动手吧
5. 给作者加加油吧
对你有帮助的话,一杯咖啡让作者更有动力~ (click)
git 提交时报错 error: failed to push some refs to ‘https://github.com/xxx/demo.git 解决方法相关推荐
- Git提交数据失败 error: failed to push some refs to 'https://github.com/XXXXXXX/gif.git'
附载码云的使用教程地址:http://www.jianshu.com/p/084e0aabbab3 问题一:执行Git remote add origin https://github.com/XXX ...
- git报错error: failed to push some refs to ‘https://gitee.com/XXX/XXX-mater.git‘
报错地方和修改: 解决方法: 1.输入命令: git pull --rebase origin master 先取消commit记录,之后同步远程库到本地,然后再将本地最新的重新push提交就行了. ...
- 解决error: failed to push some refs to 'https://github.com/Dongyaxin-ai/learngit.git'
问题 在git bash 中键入git push -u origin master 进行提交的时候出现 如下错误 error: failed to push some refs to 'https:/ ...
- 【GIT】error: failed to push some refs to 'https://github.com/username/python.git'
error: failed to push some refs to 'https://github.com/username/python.git' 解决error: failed to push ...
- git将本地文件推送到远程仓库时报错: error: failed to push some refs to ‘https://gitee.com/no-talent-all-by-hand/dome
今天使用Git推送本地文件到远程库的时候一直报错 error: failed to push some refs to 'https://gitee.com/no-talent-all-by-hand ...
- 解决 error: failed to push some refs to ‘https://github.com/mxp520/test-spring-cloud-base.git‘
在使用git对源代码进行push的到github时,可能会出现错误,如下图所示 出现错误的主要原因是github中的README.md文件不在本地代码目录中 可以通过如下命令进行代码合并[注:pull ...
- error: failed to push some refs to ‘https://github.com/bodokaiser/piwise.git‘
problem: solution: git pull --rebase origin master
- 解决办法:git错误 error: failed to push some refs to 'https://github.com/...
问题描述: 今天在git bash中键入 $ git push origin master 进行提交的时候出现出现了 如下错误: ! [rejected] master -> master (n ...
- 解决办法:error: failed to push some refs to 'https://github.com/xxxx.git'
在github远程创建仓库后, 利用gitbash进行提交本地文件的时候出现如下错误: [root@foundation38 demo]# git push -u origin master User ...
最新文章
- 为什么U-Net在医学图像上表现优越?
- QIIME 2教程. 28社区Community(2020.11)
- Android实现模块 api 化
- “ INSERT IGNORE”与“ INSERT…ON DUPLICATE KEY UPDATE”
- 产品管理|产品设计流程[完整版]
- 百度是php写的,百度大秘密,百度也是PHP写的!有证据!千真万确!
- matlab meshc函数_有那些相见恨晚的MATLAB绘图命令
- 华中科技大学计算机视觉张朋,管涛-华中科技大智能媒体计算与网络安全实验室...
- tushare 安装
- mysql数据库中修改错别字_MySQL 8.0.23 更新分享-爱可生
- PHP框架TP5.1
- SPSS-process插件-中介调节模型
- 【速记】英语多个形容词(定语)搭配规则
- 全国哀悼日,英来网停站一天。
- Word:一级标题行首段前距失效问题
- 十进制转换成十六进制
- AVL树的理解及自写AVL树
- linux系统中不存在 基本文件类型,Linux系统中不存在以下哪个基本文件类型( )
- 全国计算机二级考试上机试题,全国计算机二级《C++》上机试题附答案
- 环信即时通信jdk,java版本服务器端的集成