git基础: (fetch first)和(non-fast-forward)问题详解

这篇具有很好参考价值的文章主要介绍了git基础: (fetch first)和(non-fast-forward)问题详解。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

1.问题

当在本地main分支上向远程main仓库push时发生如下问题

To github.com:ReturnTmp/study.git
 ! [rejected]        main -> main (fetch first)
error: failed to push some refs to 'github.com:ReturnTmp/study.git'
hint: Updates were rejected because the remote contains work that you do
hint: not have locally. This is usually caused by another repository pushing
hint: to the same ref. You may want to first integrate the remote changes
hint: (e.g., 'git pull ...') before pushing again.
hint: See the 'Note about fast-forwards' in 'git push --help' for details.
 

解决方案:

git push origin main

但是之后又报下面的错:

To github.com:ReturnTmp/study.git
 ! [rejected]        main -> main (non-fast-forward)
error: failed to push some refs to 'github.com:ReturnTmp/study.git'
hint: Updates were rejected because the tip of your current branch is behind
hint: its remote counterpart. Integrate the remote changes (e.g.
hint: 'git pull ...') before pushing again.
hint: See the 'Note about fast-forwards' in 'git push --help' for details.

解决方案:

1.先合并之前的历史,再进行提交——提倡使用

(1)先把git的东西fetch到你本地然后merge后再push

$ git fetch origin master

$ git merge origin FETCH_HEAD 

先抓取远程仓库的更新到本地,然后与你的本地仓库合并,(如果有冲突就要解决冲突后再合并,冲突问题比较复杂,这里就不详细说了),这样就可以使远程仓库和你本地仓库一致了,然后就可以提交修改了。

(2)这2句命令等价于
$ git pull origin master

但是使用git fetch + git merge 更加安全。

(3)git pull --rebase origin master

重定基,可以是历史更加统一,即使提交历史趋向于一条直线。

补充:他们之间的关系

git pull = git fetch + git merge FETCH_HEAD 

git pull --rebase =  git fetch + git rebase FETCH_HEAD

2.丢弃之前的历史,强推-不推荐

git push -f origin main

参考博客:Git错误non-fast-forward的解决方法_秦时明月之君临天下的博客-CSDN博客_git non-fast-forward

Git错误non-fast-forward的解决方法_秦时明月之君临天下的博客-CSDN博客_git non-fast-forward文章来源地址https://www.toymoban.com/news/detail-501681.html

到了这里,关于git基础: (fetch first)和(non-fast-forward)问题详解的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • git 上传出现“ ! [rejected] master -> master (non-fast-forward)”

    一、设置git仓库 1、先删除原来仓库 2、添加仓库 注意:若要修改仓库 二、 在使用Git 配置公司的远程仓库时 git push origin master ,出现以下问题 从提示语中可以看出是,问题(Non-fast-forward)的出现原因在于:git仓库中已经有一部分代码,所以它不允许你直接把你的代码覆盖上

    2024年01月17日
    浏览(46)
  • git push报错 ! [rejected] dev -> dev (non-fast-forward)

    问题 git push 进行代码提交时报错 ! [rejected] dev -> dev (non-fast-forward) 原因 是本地库和远程库没有同步导致无法提交合并,冲突导致无法push 解决办法 情况一:第一次提交,远程喝本地分支没有关联,在原有命令后加 --allow-unrelated-histories 情况二:已经进行git操作,有了关联的

    2024年02月15日
    浏览(61)
  • git 上传报错! [rejected] master -> master (non-fast-forward)解决方法

    上传报如下错误: 解决方法: 把远程仓库和本地同步,消除差异,可能会 出现如下窗口: 解决方案: 1、当出现上述情况,可按键盘左上角的“Ese”退出键; 2、输入“ :wq ”,注意是英文输入状态下的冒号,然后按下“ Enter ”键即可。( “ :wq ”是啥意思呢???Linux操

    2024年02月12日
    浏览(54)
  • git push报错:![rejected] master -> master(non-fast-forward) error:failed to push some refs to XXX

    背景 本地git库,要push到gitlab上,执行完如下命令后报错: 报错信息为: 原因 从本地代码创建远程仓库的时候,添加了README.md,但本地仓库中并没有该文件。 解决方案 添加忽略不相干的历史选项,将远程仓库中的文件重新拉取到本地,这样本地文件会出现README.md: 之后再

    2024年02月04日
    浏览(67)
  • git push 到gitlib提示! [rejected] master -> master (non-fast-forward) error: failed to push some refs t

    一、git push到gitlab提示,大概意思是本地库和远程库没有同步导致无法提交合并,冲突导致无法push。 二、解决方案 三、操作界面,可以push到gitlab了。 三、參考文章 https://www.cnblogs.com/wml-it/p/15585052.html

    2024年02月06日
    浏览(52)
  • ! [rejected] master -> master (non-fast-forward)error: failed to push some refs to

    产生场景 创建仓库上传代码时,发现git的一个报错,意思是本地和远程不太一样(第一次提交)。 原因是我们在创建仓库是创建了模板和.git忽略文件,这样使得远程和本地内容不太一样。 我们只要在正常上传仓库流程push之前把远程仓库内容拉取到本地来。 解决方案 总结:

    2024年02月16日
    浏览(53)
  • 问题解决:[rejected] master -> master (fetch first)

    在向远程仓库提交修改时,出现了 ![rejected]  master - master (fetch first) 的问题。 这是因为本地仓库修改前与远程仓库的内容(版本)不一致,可能是别人修改了远程仓库,而自己的本地仓库没有及时同步(拉取)过来。 以致于在git push 提交时,会检测到之前从远程仓库拉取的时候

    2024年02月12日
    浏览(45)
  • Git pull报 fatal: Not possible to fast-forward, aborting的解决办法

    1. 问题场景 本人使用公司的开发机Mac, 发现在Mac 机上pull代码时总会出现“fatal: Not possible to fast-forward, aborting”。 开发流程:基于release拉取一个feature分支,然后在feature分支上进行开发,再把feature分支往master合并,如果有冲突先git pull 一下,然后解决冲突进行push。  (rele

    2023年04月08日
    浏览(37)
  • git push失败, 提示! [rejected] master -> master (fetch first)error: failed to push some refs.解决办法

    我们按照如下的步骤上传了一个项目到仓库的时候,是可以成功的: 1、git init 初始化 2、git add .  将当前目录下修改的所有代码从工作区添加到暂存区 3、git commit -m  [\\\'注释\\\']  将缓存区内容添加到本地仓库 4、git remote add origin 仓库地址  将本地仓库与远程仓库连接起来 5、

    2024年02月01日
    浏览(82)
  • PyTorch的CUDA错误:Error 804: forward compatibility was attempted on non supported HW

    宿主机为Ubuntu20.04 + gtx1060,Nvidia driver版本为510.85.02。 安装环境为:tensorrt8.4 安装完成后,一当调用cuda环境就会报错:Error 804: forward compatibility was attempted on non supported HW。 检查问题原因 在Linux宿主机上使用docker(版本= 19.3)之前,请确保安装了nvidia-container-runtime和nvidia-cont

    2023年04月08日
    浏览(53)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包