![rejected]master->master(fetch first)问题的解决方案

鞠侯林
2023-12-01

今天在做git push -u origin master时出现了如下错误:

1
! [rejected]        master -> master (fetch first)

分析原因,基本上可以确定是因为github上的远程库与本地库版本不一致(我对github上的文件做了编辑操作,且未更新到本地,当然也可能还有其他原因…),通过一番研究,找到了两种解决方案:

温柔型方案:

  1. 通过git pull先将本地库更新到与远程库一致的版本,但要注意本地库后来做的修改可能被覆盖,最好使用git fetch(不会自动合并),查看更新情况再有选择合并,或者先将本地库修改过的文件备份,git pull后再重新修改;

  2. 再运行git push即可成功。

暴力型方案:

git提供了一种强制上传的方式:git push -f,它会忽略版本不一致等问题,强制将本地库上传的远程库,但是一定要谨慎使用,因为-f会用本地库覆盖掉远程库,如果远程库上有重要更新,或者有其他同伴做的修改,也都会被覆盖,所以一定要在确定无严重后果的前提下使用此操作。

 类似资料: