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 解决方法相关推荐

  1. 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 ...

  2. git报错error: failed to push some refs to ‘https://gitee.com/XXX/XXX-mater.git‘

    报错地方和修改: 解决方法: 1.输入命令: git pull --rebase origin master 先取消commit记录,之后同步远程库到本地,然后再将本地最新的重新push提交就行了. ...

  3. 解决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:/ ...

  4. 【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 ...

  5. 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 ...

  6. 解决 error: failed to push some refs to ‘https://github.com/mxp520/test-spring-cloud-base.git‘

    在使用git对源代码进行push的到github时,可能会出现错误,如下图所示 出现错误的主要原因是github中的README.md文件不在本地代码目录中 可以通过如下命令进行代码合并[注:pull ...

  7. error: failed to push some refs to ‘https://github.com/bodokaiser/piwise.git‘

    problem: solution: git pull --rebase origin master

  8. 解决办法:git错误 error: failed to push some refs to 'https://github.com/...

    问题描述: 今天在git bash中键入 $ git push origin master 进行提交的时候出现出现了 如下错误: ! [rejected] master -> master (n ...

  9. 解决办法:error: failed to push some refs to 'https://github.com/xxxx.git'

    在github远程创建仓库后, 利用gitbash进行提交本地文件的时候出现如下错误: [root@foundation38 demo]# git push -u origin master User ...

最新文章

  1. 为什么U-Net在医学图像上表现优越?
  2. QIIME 2教程. 28社区Community(2020.11)
  3. Android实现模块 api 化
  4. “ INSERT IGNORE”与“ INSERT…ON DUPLICATE KEY UPDATE”
  5. 产品管理|产品设计流程[完整版]
  6. 百度是php写的,百度大秘密,百度也是PHP写的!有证据!千真万确!
  7. matlab meshc函数_有那些相见恨晚的MATLAB绘图命令
  8. 华中科技大学计算机视觉张朋,管涛-华中科技大智能媒体计算与网络安全实验室...
  9. tushare 安装
  10. mysql数据库中修改错别字_MySQL 8.0.23 更新分享-爱可生
  11. PHP框架TP5.1
  12. SPSS-process插件-中介调节模型
  13. 【速记】英语多个形容词(定语)搭配规则
  14. 全国哀悼日,英来网停站一天。
  15. Word:一级标题行首段前距失效问题
  16. 十进制转换成十六进制
  17. AVL树的理解及自写AVL树
  18. linux系统中不存在 基本文件类型,Linux系统中不存在以下哪个基本文件类型( )
  19. 全国计算机二级考试上机试题,全国计算机二级《C++》上机试题附答案
  20. 环信即时通信jdk,java版本服务器端的集成

热门文章

  1. 22个优秀的橙色网页设计作品欣赏
  2. 移动端图片居多,加载过慢,使用延迟加载|懒加载( lazyload.js)
  3. python密码密文转换_浅论Python密文输入密码的方法
  4. iOS字体像数与磅的对应关系
  5. D. Masquerade strikes back(思维)
  6. 页面布局整理汇总,让你彻底搞明白多种布局的关系
  7. 野火 步进电机 视频笔记
  8. Twitter注册如何做到ip防关联
  9. python绘制饼图
  10. 使用蒙特卡罗方法计算圆周率