问题解决:[rejected] master -> master (fetch first)

本文讲述了在向远程仓库提交时遇到的`rejected`问题,原因在于本地与远程仓库版本不一致。给出了两种解决方法:一是git pull --rebase origin master,二是git push --force origin master(谨慎使用)。强调了版本同步和安全提交的重要性。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

在向远程仓库提交修改时,出现了 ![rejected]  master -> master (fetch first) 的问题。

这是因为本地仓库修改前与远程仓库的内容(版本)不一致,可能是别人修改了远程仓库,而自己的本地仓库没有及时同步(拉取)过来。
以致于在git push 提交时,会检测到之前从远程仓库拉取的时候的仓库状态和现在的不一样了。
于是,为了安全起见,就出现了拒绝提交。

 

解决方法:
方法一
1、将远程仓库修改的内容更新到本地仓库: git pull --rebase origin master

注:如果远程仓库上已经更新的地方与当前提交的修改的地方一致,那么此时本地仓库上的修改可能会被覆盖。这样的话,可以先使用 git fetch origin master (不会自动合并),然后查看更新情况再进行有选择的合并;或者先将本地仓库修改过的内容备份,git pull origin master 后再重新修改;

2、再进行提交:git push origin master

 

方法二:(不建议)
利用 git 强制上传:git push -f origin mastergit push --force origin master
它会忽略版本不一致等问题,强制将本地仓库上传的远程仓库。但是要慎用,因为本地仓库会覆盖远程仓库,如果远程仓库上有重要更新,都会被覆盖掉。
 

 

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值