Git推送报错求助:裸仓库推送master分支遭非快进式拒绝
解决Git推送报错及分支推送问题
嘿,我来帮你搞定这个Git推送的问题!你现在遇到的情况其实是两个问题叠加导致的:一是你误把master分支推送到远程(明明在test2分支做了修改,却执行了git push origin master),二是远程的master分支和你本地的master分支存在不一致,没法直接快速推进(也就是报错里的non-fast-forward)。
下面一步步来解决:
1. 先处理当前的master分支推送错误
首先得把本地master分支和远程的同步,解决冲突:
# 先切换到master分支 git checkout master # 拉取远程master的最新内容,自动合并到本地 git pull origin master # 如果拉取时出现冲突,手动打开冲突文件解决后,提交修改 git add . git commit -m "解决master分支与远程的冲突" # 现在就可以正常推送master分支到远程了(如果确实需要的话) git push origin master
2. 正确推送你在test2分支的修改
你实际是在test2分支做的提交,所以应该把这个分支推送到远程仓库:
# 切回test2分支(如果当前已经在test2分支就跳过这步) git checkout test2 # 第一次推送test2分支时,需要关联远程分支,以后推送就不用写全命令了 git push -u origin test2 # 之后再推送test2分支的修改,直接执行下面的命令就行 git push
3. 小技巧:避免以后再犯类似错误
- 推送前先确认当前分支:执行
git branch,带*标记的就是你当前所在的分支 - 推送时明确指定分支:比如
git push origin test2,不要默认推master - 可以设置Git默认推送当前分支,减少误操作:
git config push.default current
内容的提问来源于stack exchange,提问作者Rockie
相关产品推荐
相关产品推荐

