Git推送PR提示! [rejected] haslr -> haslr (fetch first)错误如何解决
问题修复步骤
步骤1:配置Git基础身份信息(可选,解决提交身份提示)
提交时弹出的身份自动配置提示可通过以下命令修正,配置为你GitHub账号对应的信息即可:
git config --global user.name "你的GitHub用户名" git config --global user.email "你的GitHub绑定邮箱"
配置完成后回到开发分支修正本次提交的身份:
git checkout haslr git commit --amend --reset-author --no-edit
步骤2:添加上游仓库并同步最新主分支代码
你当前未配置原项目的上游仓库,所以拉取upstream时报错,先执行添加上游仓库:
git remote add upstream https://github.com/bioconda/bioconda-recipes.git
同步上游仓库的最新主分支代码到本地,再同步到你自己Fork的远程仓库:
git checkout master git pull upstream master git push origin master
步骤3:变基开发分支解决冲突
切回你的开发分支,将最新的主分支代码变基到开发分支上,过程中按照提示解决文件冲突即可:
git checkout haslr git rebase master
如果出现冲突,修改完冲突文件后执行以下命令继续变基,直到变基流程完成:
git add 冲突文件路径 git rebase --continue
步骤4:重新推送开发分支到远程
变基完成后强制推送到你自己Fork的远程仓库的对应分支即可(变基会修改提交历史,仅可强制推送到自己的私有开发分支):
git push -f origin haslr
推送完成后刷新GitHub的PR页面,PR会自动更新,冲突提示会消失。
额外配置:消除pull命令的策略提示
你可以全局设置默认的pull策略,避免每次执行pull命令都弹出策略提示:
# 推荐使用rebase策略,不会产生多余的合并提交,更适合提PR的开发场景 git config --global pull.rebase true
内容的提问来源于stack exchange,提问作者user977828
相关产品推荐
相关产品推荐

