【Git】pull 分支报错 fatal: Need to specify how to reconcile divergent branches...

这篇具有很好参考价值的文章主要介绍了【Git】pull 分支报错 fatal: Need to specify how to reconcile divergent branches...。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

报错消息

  • 示例代码:
➜  git:(test) git pull origin test
 * branch              test       -> FETCH_HEAD
hint: You have divergent branches and need to specify how to reconcile them.
hint: You can do so by running one of the following commands sometime before
hint: your next pull:
hint: 
hint:   git config pull.rebase false  # merge (the default strategy)
hint:   git config pull.rebase true   # rebase
hint:   git config pull.ff only       # fast-forward only
hint: 
hint: You can replace "git config" with "git config --global" to set a default
hint: preference for all repositories. You can also pass --rebase, --no-rebase,
hint: or --ff-only on the command line to override the configured default per
hint: invocation.
fatal: Need to specify how to reconcile divergent branches.
  • 翻译:
➜git:(test) git pull origin test
提示:您有不同的分支,需要指定如何协调它们。
提示:您可以通过在之前某个时间运行以下命令之一来做到这一点
提示:你的下一招:
提示:
提示:git config pull.rebase false 	# 合并(默认策略)
提示:git config pull.rebase true  	# Rebase
提示:git config pull.ff only	 	# 仅快进
提示:
提示:可以将“git config”替换为“git config——global”来设置默认值
提示:首选所有存储库。你也可以传递——rebase,——no-rebase,
提示:或命令行上的——ff-only,以覆盖配置的默认per
提示:调用。
fatal:需要指定如何协调不同的分支。

解决方法

分析:这是由于你拉取pull分支前,进行过merge合并更新分支操作,而其他人在你之前已经push过一个版本,导致版本不一致

第一种解决方法:比较简单

  • 执行git config pull.rebase false
  • 默认将pull下来的代码与现有改动的代码进行合并
  • 但是可能会造成代码冲突,需要处理下这个问题,代码冲突如果2个人都改了同一个文件,需要联系之前push的同学,看看这块代码怎么保存

第二种解决方法:回退到合并之前的代码,在进行pull拉取最新代码

注意:这种解决方法仅适用于2个分支之间的合并(git merge)操作,比如你是将dev开发分支合并到test分支之前没pull,那这时候test分支需要回退到未合并前的版本。
test上合并上去的代码将会丢失,等你test分支能成功pull后,需要重新合并(merge)开发分支dev上的代码合并到test上。所以记得保留dev开发分支这个版本的代码再把test回退到上一个版本,等pull成功,再重新在test分支上合并dev分支代码

  • 查看最近3次提交的历史版本
➜  git:(test) git log -2			# 查看最近2次提交的历史版本
commit 6018c237278f5265e78314049d6642e493ebdb0d
Author: 流星
Date:   Wed Jan 19 09:57:50 2022 +0800

    合并之后

commit 33df706e780d10af6435bda1fee85430604eebfd
Merge: 1d06cd1f 7589979d
Author: 流星
Date:   Tue Jan 18 16:11:21 2022 +0800

    合并之前
  • 根据历史版本记录,选择commit地址,回退到自己合并之前的版本
➜  git:(test) git reset --hard 33df706e780d10af6435bda1fee85430604eebfd
  • 再进行pull更新分支
➜  git:(test) git pull origin test
  • 最后再重新合并代码
➜  git:(test) git merge dev

记得养成一个良好git发布流程的习惯

# 分支合并发布流程:
git add .			# 将所有新增、修改或删除的文件添加到暂存区
git commit -m "版本发布" # 将暂存区的文件发版
git status 			# 查看是否还有文件没有发布上去
git checkout test	# 切换到要合并的分支
git pull			# 在test 分支上拉取最新代码,避免冲突
git merge dev   	# 在test 分支上合并 dev 分支上的代码
git push			# 上传test分支代码

更多git操作请查看博主的另一篇文章,关注我不迷路,我替你们把坑都踩平了:

https://blog.csdn.net/qq_45677671/article/details/114594940?spm=1001.2014.3001.5502文章来源地址https://www.toymoban.com/news/detail-779902.html

到了这里,关于【Git】pull 分支报错 fatal: Need to specify how to reconcile divergent branches...的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

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

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

相关文章

  • git pull 提示错误 fatal: refusing to merge unrelated histories

    从远程拉项目到本地的时候提示错误 造成 fatal: refusing to merge unrelated histories错误的原因有以下几点: 有一个包含一些提交的新 Git 存储库。然后,您尝试从现有的远程仓库中提取。合并变得不兼容,因为分支和远程拉取的历史不同。当你试图合并两个完全不相关的分支时,

    2024年02月11日
    浏览(42)
  • 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日
    浏览(40)
  • git pull出现fatal: unable to access ‘https://github.com/xxx.git‘: Failed to connect to github.com port

    问题 执行git命令:git pull origin main; 出现:fatal: unable to access ‘https://github.com/xxx.git’: Failed to connect to github.com port 443 after xxx ms: Timed out。 解决方法 手动配置Git代理: 1.打开ShadowsocksR软件; 2.右键ShadowsocksR图标,点击《选项设置》,查看本地端口,我的是1080; 2.执行 git c

    2024年02月13日
    浏览(60)
  • git pull Your configuration specifies to merge with the ref ‘refs/heads/xxxx‘ from the remote, but n

    Your configuration specifies to merge with the ref ‘refs/heads/xxxx’ from the remote, but no such ref was fetched.) 1.主要是因为网页上仓库fork别人的,更新了就没了分支,但是本地还有 2.需要切换到丢失的分支下,需要先解锁: 3.然后在执行git pull会有提示: 但是这样问题还不能根本性的解决:

    2024年02月04日
    浏览(56)
  • 【Git】git pull 报错 fatal: not a git repository (or any of the parent directories): .git

    在使用 git pull 拉取仓库时报错,错误信息如下图所示: 这个错误表明当前目录不是一个 Git 仓库,因此无法执行 git pull 命令。 错误提示中指出当前目录不是一个 Git 仓库,因此无法执行 git pull 命令。这可能是因为在一个不是 Git 仓库的目录中使用了 Git 命令。 使用 git init 命

    2024年02月04日
    浏览(42)
  • 【Git】push分支报错:fatal: The current branch 当前分支名 has no upstream branch

    示例代码: feature/file 是分支名 中文释义: 在于当前这个分支没有和任何的仓库发生关联,origin是仓库的一个指针,需要将当前的分支与这个指针之间形成关联。 直接允许以下命令即可 执行之后会在 github 上自动新建一个 feature/file 的分支。

    2024年02月11日
    浏览(60)
  • git小乌龟pull报错 You asked to pull from the remote ‘origin‘...

    [up to date]      master     - origin/master You asked to pull from the remote \\\'origin\\\', but did not specify a branch. Because this is not the default configured remote for your current branch, you must specify a branch on the command line. 如图指定远程分支就可以了

    2024年02月02日
    浏览(54)
  • git命令报错fatal: unable to access

    遇到这个问题不要慌 fatal: unable to access 我遇到的时候以为时没有权限,后来并不是,而是地址的问题 在这里是地址的问题 ,需要把前面的 ^[[200~h 给删掉,但是我删掉后还是报错 后来我才发现不能用github中一键复制的地址 得用网址,复制网址后,就拉去成功了 这样就拉去成

    2024年02月13日
    浏览(44)
  • Git报错:fatal: Unable to create ‘.../.git/index.lock‘

      今天提交一份很早之前写的代码的时候,遇到git报错,报错如下:   git在执行耗时操作的时候为了避免对同一个目录进行多个操作的冲突 ,会自动生成一个index.lock文件。作为锁文件。当操作结束,git会自动删除该文件。 当git在运行过程中,用户强制关闭了git,导致

    2024年02月16日
    浏览(64)
  • 【git报错】git push时候报错fatal: unable to access ‘http://xxxxxxxxxxxx.git/‘: Failed to connet to xxxxx

    在执行git push origin master要把代码推送到远程库的时候出现了报错:fatal: unable to access ‘http://xxxxxxxxxxxx.git/’: Failed to connet to xxxxx 先是在博客上(https://blog.csdn.net/cubejava/article/details/120631396)看到是说:一般是这是因为服务器的SSL证书没有经过第三方机构的签署,所以才报错,

    2024年02月16日
    浏览(49)

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

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

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

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

二维码1

领取红包

二维码2

领红包