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

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

今天在做git push时出现了如下错误:
在这里插入图片描述
分析原因,基本上可以确定是因为github上的远程库与本地库版本不一致(我对github上的文件做了编辑操作,且未更新到本地,当然也可能还有其他原因…),通过一番研究,找到了两种解决方案:

温柔型方案:

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

暴力型方案:

  1. git提供了一种强制上传的方式:git push -f ,它会忽略版本不一致等问题,强制将本地库上传的远程库,但是一定要谨慎使用,因为-f会用本地库覆盖掉远程库,如果远程库上有重要更新,或者有其他同伴做的修改,也都会被覆盖,所以一定要在确定无严重后果的前提下使用此操作。
    在这里插入图片描述
小灰灰爬行记
2018.12.16
  • 68
    点赞
  • 136
    收藏
    觉得还不错? 一键收藏
  • 14
    评论
当你在向远程仓库提交修改时,出现了"!\[rejected\] master -> master (fetch first)"的问题,这是因为你的本地仓库和远程仓库的内容不一致。可能是因为别人已经修改了远程仓库,而你的本地仓库没有及时同步(拉取)过来。所以在提交时,Git会检测到之前从远程仓库拉取的仓库状态和现在的不一样,为了安全起见,拒绝了提交。\[1\] 有两种方法可以解决这个问题。第一种方法是先使用"git fetch origin master"命令来拉取远程仓库的更新,然后查看更新情况再进行有选择的合并。这样可以确保你的本地仓库和远程仓库保持一致。\[3\] 第二种方法是使用"git push -f origin master"或"git push --force origin master"命令来强制上传本地仓库的修改到远程仓库。但是要慎用这种方法,因为它会覆盖远程仓库上的内容,如果远程仓库上有重要的更新,都会被覆盖掉。\[2\] 建议在使用第二种方法之前,先备份本地仓库修改过的内容,以防止意外情况发生。 #### 引用[.reference_title] - *1* *2* *3* [问题解决:[rejected] master -> master (fetch first)](https://blog.csdn.net/weixin_50486192/article/details/124492205)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^koosearch_v1,239^v3^insert_chatgpt"}} ] [.reference_item] [ .reference_list ]
评论 14
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值