学无先后,达者为师

网站首页 编程语言 正文

[rejected] master -> master (fetch first) error: failed to push some refs;master -> master(non-fast-

作者:sing__star 更新时间: 2022-02-28 编程语言

问题描述

[rejected] master -> master (fetch first) error: failed to push some refs to
在执行git merge 分支名 以后报错

使用了网上一些解决方案方案:

// 出现这个问题是因为github中的README.md文件不在本地代码目录中,可以通过如下命令进行代码合并
git pull --rebase origin master      // 本地生成ReadMe文件
git push origin master

后台又报错如下:

![rejected] master -> master(non-fast-forward) error:failed to push some refs to XXX

然后再找解决方案:

方法一:
本地没有ReadMe文件,那么就在本地生成一个:

git pull --rebase origin master     本地生成ReadMe文件
git push origin master

方法二:
那我就强制上传覆盖远程文件,
git push -f origin master

发现还是不能解决我的问题。然后就是各种操作猛如虎,发现还是不行,最操蛋的是你执行了这个命令之后,再去执行其他的就可能会有不以言过得情况,就非常麻烦。
最后痛定思痛,不想通过分支的前方是来合并代码了(直接项目组的所有人用master分支),但这样并不是很合理,1.于是我把github代码拉下来然后略微改动(写个注释啥的都行),然后强行把代码推到master主分支,使用git push -f origin master强行推,2.然后再对文件做略微改定(写个注释啥的都行),再创建分支合并去合并就不会出上面的问题了…过程如下:
注:若在git命令执行过程中产生问题请看小标题3.一些代码命令过程小问题的解决。

1.先将master分支代码强行覆盖

将master分支代码拉下来,这两种都可以,网上教程很多…
在这里插入图片描述

0.git init

1.git remote show origin(查看当前git的仓库地址是否在你的项目的仓库地址)

2.没在当前的项目的仓库地址的话通过这样命令修改:git remote set-url origin gitxxxxxxxxxxxxxxxxxxxx/front.git
(若报错:error: No such remote 'origin'。解决:git remote add origin "gitxxxxxxxxxxxxxxxxxxx/front.git")

3.git branch 检查当前所在分支(若无输出就是没有自己的分支,按下面创建一个)

4.本地创建一个新的分支: git checkout -b master

5.将所有文件添加到暂存区git add . 检查状态git status。

6.将你的分支提交到本地仓库中,添加一个提交消息git commit -m "完成xxxxxxxx功能"

7.强行提交代码:git push -f origin master

2.合并分支

1.git branch 检查当前所在分支(若无输出就是没有自己的分支,按下面创建一个)

2.本地创建一个新的分支: git checkout -b  xxx(自己取一个名字)

3.检查当前分支的文件状态git status,将所有文件添加到暂存区git add . 再检查状态git status。

4.将你的分支提交到本地仓库中,添加一个提交消息git commit -m "完成xxxxxxxx功能"

5.将本地的你的分支推送到云端origin中,并创建一个你的分支名且以xxx命名。git push –u origin xxx

6.分支的合并:
将所有分支合并到主分支,git branch检查是否在主分支,不在就切换回主分支git checkout master,再检查git branch。合并:git merge xxx。再git push -u origin master就可以啦

成功截图:
在这里插入图片描述

3.一些代码命令过程小问题的解决

(上面代码执行可能出现的情况)

// 报错情况1:fatal: not a git repository (or any of the parent directories): .git。
解决:git init
// 报错情况2:error: No such remote 'origin'。

// 修改远程的url的命令,前提是要先有远程url你必须先增加一个远程url。
解决:git remote add origin "gitxxxxxxxxxxxxxxxxxxx/front.git"
// 报错情况3:fatal: The current branch master has no upstream branch.To push the current branch and set the remote as upstream, use git push --set-upstream origin master。
解决:git push -u origin xxx

原文链接:https://blog.csdn.net/qq_44774831/article/details/120999771

栏目分类
最近更新