今天在用git的时候遇到了一个问题。在想远程分支push的时候,出现了下面的错误:

! [remote rejected] master -> refs/for/master (change 144 closed)

error: failed to push some refs to ...

检查了一下发现是因为本地分支的版本相比远程分支的版本低。

解决的过程中有如下问题:

1、(不建议使用)直接在当前分支pull了一下,合并的时候发现有冲突,解决后commit --amend出错,大意是“合并中不能amend”。

2、新建了一个分支new用于保存当前的工作。回master分支,使用git reset --hard ****(****是commit_id前四位)命令回滚到之前的commit状态,保证这个commit节点在远程分支上,而不是本地的未push的commit。然后pull可以很顺利的将本地master分支更新与远程分支一致。然后在合并new分支到master分支,这样就回到了1的情况,合并后不能amend。

(之所以用2的方法,是因为这样就有了一个备份,在合并的如果出现问题导致一些丢失也可以轻松找回。)

上面2个方法amend都会报错,但是新建一个commit的话就能顺利完成合并。

其实合并的过程中如果没有冲突会自动创建新的commit,自动添加的描述是  merge branch ‘...’  。但是出现冲突的话就会停下来,由我们自己来解决冲突后,手动add->commit新建节点,这是默认的描述还是是  merge branch ‘...’  。

之所以一直尝试amend是因为工作的需要。但是还没有一个好的解决方法,根据合并的原理来看应该是不可能去amend了。

但是git提供了另外一种方式:衍合rebase。

在new分支下,git rebase master就可以进行衍合,衍合后在master分支最未端就会出现new分支下的commit,这样就能保证push的commit的changeid是不变的。

上面的衍合是基于没有冲突的情况的,有冲突的情况还待实验。

Git本地分支版本过低导致的push错误 error: failed to push some refs to ... 及后续amend相关推荐

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

    问题描述:在git bash中键入 $ git push 进行提交的时候出现错误 error: failed to push some refs to 'https://github.com/blue ...

  2. 解决git push 出现错误 error: failed to push some refs to 'git@github.com:xxxxx'

    使用github时,本地git push命令出现错误 error: failed to push some refs to 'git@github.com:xxxxx' 出错现象: 原因: git p ...

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

  4. 遇到一个git的大坑 src refspec master does not match any error: failed to push some refs to

    今天本来想把内容上传到git仓库去,但是折腾了好久一直报错. 错误信息是这样的. error: src refspec master does not match any error: failed ...

  5. git上传文件遇到 错误error: failed to push some refs to

    问题场景: 提示:这里简述遇到问题的原因: 场景:在码云中上传文件的同时,会出现这样的问题error: failed to push some refs to 问题描述 提示:这里描述项目中遇到的问题 ...

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

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

  7. 如何解决git上传文件出错[rejected] master - master (fetch first) error: failed to push some refs to '

    使用Git上传本地文件到github时,一直报错,这个问题也困扰了我2天,终于被解决. git add . git commit -m"peTzxz" git push origi ...

  8. git push提交 error: failed to push some refs to

    异常信息: error: failed to push some refs to 'https://git.*****.com/dp/service/springbootDemo.git' hint: ...

  9. 解决git 错误error: failed to push some refs to......

    错误信息: error: failed to push some refs to 'git@github.com:....." Updates were rejected because t ...

最新文章

  1. coordinatorlayout 设置不可滑动_滑动关闭App损害iPhone电池寿命,我们需要“改掉强迫症”吗?...
  2. 【Linux - mysql】linux下mysql报Failed to restart mysqld.service: Unit not found
  3. vue基于element-ui的三级CheckBox复选框
  4. Panasonic Programming Contest (AtCoder Beginner Contest 195) 题解
  5. 基于JAVA+SpringBoot+Mybatis+MYSQL的高校排课系统
  6. SAP 许可证审计流程 License Audit介绍
  7. IE6下png图片透明设置
  8. 开源自动化运维平台Spug
  9. Webpack的基本使用
  10. 使用极光推送发送短信验证码
  11. Rational Rose的讲解
  12. 在线教育系统网页版,观看视频直播功能更多,更适合用户学习
  13. 【IOS学习之工具学习】sublime text mac(代码编辑器)
  14. iOS 自动生成各种尺寸的App Icon 和 Launch Image( App Icon Gear)
  15. 【K8S 三】部署 metrics-server 插件
  16. Swagger3 API接口文档规范课程(Java1234)(内含教学视频+源代码)
  17. windows下使用vscode连接ubuntu服务器,使用xming将Ubuntu服务器端的图形界面转发到windows下
  18. 一文读懂P2SH和P2WSH
  19. Linux中的常用shell命令(一)
  20. 将多个DataTable添加到指定的DataSet中

热门文章

  1. 使用 RUP 管理小型项目和团队
  2. 计算程序执行时间的函数
  3. Android UI布局之LinearLayout
  4. chrome开发总结(交互/权限/存储)-爬虫
  5. Android的图片缓存ImageCache(转)
  6. 1.%@Page%中的Codebehind、AutoEventWireup、Inherits有何作用?
  7. C语言 数字和字符串的转换 error
  8. 记一次简单的sql优化
  9. [转] 前端异常监控解决方案研究
  10. 搜索引擎优化网页设计:最佳实践