在向远程仓库提交修改时,出现了 ![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 master 或 git push --force origin master
它会忽略版本不一致等问题,强制将本地仓库上传的远程仓库。但是要慎用,因为本地仓库会覆盖远程仓库,如果远程仓库上有重要更新,都会被覆盖掉。
版权归原作者 公子聪 所有, 如有侵权,请联系我们删除。