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

今天在用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是不变的。

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

时间: 2024-11-08 09:20:29

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

解决git push出现error: failed to push some refs to 错误

错误截图 背景 码云上创建了空项目 本地项目绑定了远程仓库,尝试git push,然后报了错 解决办法 使用强制命令git pull origin master --allow-unrelated-historie 后面加上  --allow-unrelated-histories , 把两段不相干的分支进行强行合:这里可能会进入一个编辑页面,只需要先ESC,然后敲 q! 即可, 或者根据它的页面提示如何操作可退出编辑页面即可 最后再push就可以了 git push -u origin mas

Git error (failed to push some refs)解决

当修改了本地仓库后 提交代码时, 用 git push 提示以下错误 error:failed to push some refs to ... Dealing with "non-fast-forward" errors From time to time you may encounter this error while pushing: $ git push origin master To ../remote/ ! [rejected] master -> master

git push origin master出错:error: failed to push some refs to

1.输入git push origin master 出错:error: failed to push some refs to 那是因为本地没有update到最新版本的项目(git上有README.md文件没下载下来) 本地直接push所以会出错. 2.所以本地要输入git pull 然后出现的英语提示'git pull <repository> <refspec>'显示要选择远程分支 2.就试试指定目标到远程分支 输入git pull origin 出现提示 but did n

错误:error: failed to push some refs to &#39;https://github.com/pzq7025/KG.git&#39;的解决办法

一.问题在进行[git push orgin master]的时候出现如下错误 ! [rejected] master -> master (non-fast-forward) error: failed to push some refs to 'https://github.com/pzq7025/KG.git' hint: Updates were rejected because a pushed branch tip is behind its remote hint: counter

git push 报错:failed to push some refs to &#39;[email&#160;protected]:devops/thor.git&#39;

error: failed to push some refs to '[email protected]:devops/thor.git' hint: Updates were rejected because the tip of your current branch is behind hint: its remote counterpart. Integrate the remote changes (e.g. hint: 'git pull ...') before pushing

git push报错error: failed to push some refs to &#39;[email&#160;protected]:

$ git push -u origin master To [email protected]:xxx/xxx.git ! [rejected] master -> master (fetch first) error: failed to push some refs to '[email protected]:xxx/xxx.git' hint: Updates were rejected because the remote contains work that you do hint:

【git】error: failed to push some refs to

在使用git 对源代码进行push到gitHub时可能会出错 error: failed to push some refs to ... 出现错误的主要原因是github中的README.md文件不在本地代码目录中 可以通过如下命令进行代码合并 git pull --rebase origin master 执行上面代码后可以看到本地代码库中多了README.md文件 再执行语句 git push -u origin master即可完成代码上传到github 如何把本地项目上传到Github

error: failed to push some refs to ‘git@xxx.git‘

[问题描述]:通过 git push -u origin master 提交代码时出现如下报错: ##git push -u origin master Enumerating objects: 96, done. Counting objects: 100% (96/96), done. Delta compression using up to 4 threads Compressing objects: 100% (74/74), done. Writing objects: 100% (

如何解决git====push 过程中出现的。error: failed to push some refs

当我们在利用git  push 文件到仓库时出现了一下问题: ! [rejected] master -> master (fetch first)error: failed to push some refs to '[email protected]:yaogengzhu/ajax.git'hint: Updates were rejected because the remote contains work that you dohint: not have locally. This i