1. 现象

对某一个远程仓库 git pull 过程中,报错如下:

# zl @ srv123 in ~/git/radxa/kernel [14:09:54]
$ git pull
remote: Enumerating objects: 5, done.
remote: Counting objects: 100% (5/5), done.
remote: Total 5 (delta 4), reused 5 (delta 4), pack-reused 0
展开对象中: 100% (5/5), 580 字节 | 145.00 KiB/s, 完成.
来自 https://github.com/radxa/kernel
05483899648a..b902fb9b8f5e stable-5.10-rock5 -> origin/stable-5.10-rock5
* [新标签] 5.10.66-14-rockchip -> 5.10.66-14-rockchip
fatal: 无法快进,终止。

2 . 尝试 rebse 失败

 zl @ srv123 in ~/git/radxa/kernel [14:18:40] C:128
$ git rebase origin/stable-5.10-rock5
warning: 跳过了先前已应用的提交 b20c76419838
#[...忽略大量输出...]
warning: 跳过了先前已应用的提交 c5e33d713633
提示:使用 --reapply-cherry-picks 来包括跳过的提交
提示:Disable this message with "git config advice.skippedCherryPicks false"
自动合并 arch/arm64/boot/dts/rockchip/Makefile
冲突(内容):合并冲突于 arch/arm64/boot/dts/rockchip/Makefile
自动合并 arch/arm64/boot/dts/rockchip/rk3588-rock-5b.dts
冲突(添加/添加):合并冲突于 arch/arm64/boot/dts/rockchip/rk3588-rock-5b.dts
error: 不能应用 8d8ce536694e... arm64: dts: rockchip: add ROCK 5B board
提示:Resolve all conflicts manually, mark them as resolved with
提示:"git add/rm <conflicted_files>", then run "git rebase --continue".
提示:You can instead skip this commit: run "git rebase --skip".
提示:To abort and get back to the state before "git rebase", run "git rebase --abort".
不能应用 8d8ce536694e... arm64: dts: rockchip: add ROCK 5B board # zl @ srv123 in ~/git/radxa/kernel [14:19:00] C:1
$ git status
交互式变基操作正在进行中;至 b902fb9b8f5e
最后一条命令已完成(1 条命令被执行):
pick 8d8ce536694e arm64: dts: rockchip: add ROCK 5B board
接下来要执行的命令(剩余 9 条命令):
pick bc4c96c590e6 arm64: rockchip_linux_defconfig: add general options
pick e712286fbba5 arm64: rockchip_linux_defconfig: enable network modules
(使用 "git rebase --edit-todo" 来查看和编辑)
您在执行将分支 'stable-5.10-rock5' 变基到 'b902fb9b8f5e' 的操作。
(解决冲突,然后运行 "git rebase --continue")
(使用 "git rebase --skip" 跳过此补丁)
(使用 "git rebase --abort" 以检出原有分支) 未合并的路径:
(使用 "git restore --staged <文件>..." 以取消暂存)
(使用 "git add <文件>..." 标记解决方案)
双方修改: arch/arm64/boot/dts/rockchip/Makefile
双方添加: arch/arm64/boot/dts/rockchip/rk3588-rock-5b.dts 修改尚未加入提交(使用 "git add" 和/或 "git commit -a") # zl @ srv123 in ~/git/radxa/kernel [14:21:24]
$ git rebase --abort

3. 切换到其他分支,然后删除本分支

# zl @ srv123 in ~/git/radxa/kernel [14:21:40]
$ git checkout release-4.4-rockpi4
正在更新文件: 100% (94089/94089), 完成.
切换到分支 'release-4.4-rockpi4'
您的分支与上游分支 'origin/release-4.4-rockpi4' 一致。 # zl @ srv123 in ~/git/radxa/kernel [14:22:01]
$ git branch -D stable-5.10-rock5
已删除分支 stable-5.10-rock5(曾为 c5e33d713633)

4. 然后重新 checkout (本地分支 track 远程分支)

# zl @ srv123 in ~/git/radxa/kernel [14:22:09]
$ git checkout --track origin/stable-5.10-rock5
正在更新文件: 100% (94123/94123), 完成.
分支 'stable-5.10-rock5' 设置为跟踪来自 'origin' 的远程分支 'stable-5.10-rock5'。
切换到一个新分支 'stable-5.10-rock5'

解决“fast-forward, aborting”问题的更多相关文章

  1. Git – Fast Forward 和 no fast foward

    Git 很是强大,在体验过rebase的华丽之后,再次发现之前在TFS上遇到的问题一下都有解了.但也印证了Git深入并非易事.这篇就谈下一个容易迷糊的概念:Fast forward. Fast-For ...

  2. mzy git学习,禁用Fast forward的普通合并(六)

    git merge --no-ff -m "msg" x-branch:禁用Fast forward的普通合并 通常,合并分支时,如果可能,Git会用Fast forward模式, ...

  3. Git分支(2/5) -- Fast Forward 合并

    快捷操作: 切换并创建分支: git checkout -b 分支名. git checkout -b some-change 然后我打开某个文件(index.html)修改一下标题. Commit之 ...

  4. Git的fast forward和no fast forward和 three way merge 以及squash(聚合)

    github上上传了版本库https://github.com/ChuckGitMerge   包括merge和rebase 没时间画图,貌似也不太会用画图工具,先写了一个文字版本的 更新:2015年 ...

  5. Git:非Fast forward下的合并(--no-ff方式的git merge)

    创建dev分支,并且修改readme.txt的内容,然后提交 使用git merge --no-ff -m "说明内容" 分支名称合并分支 使用git log --graph -- ...

  6. git教程5-查看关系图与no fast forward融合

    1.每一个提交相当于一个版本,版本都有版本号与之对应.通常通过git commit -m "name"为每次提交命名. 2.融合:即将次分支的最后一个版本添加到主分支上.当融合冲突 ...

  7. Git 分支管理 不使用Fast forward模式进行合并 分支管理策略

    通常,合并分支时,如果可能,Git会用Fast forward模式,但这种模式下,删除分支后,会丢掉分支信息. 如果要强制禁用Fast forward模式,Git就会在merge时生成一个新的comm ...

  8. 【Todo】git的fast forward & git命令学习 & no-ff

    git的fast-forward在之前的文章有介绍过,但是介绍的不细: http://www.cnblogs.com/charlesblc/p/5953066.html fast-forward方式就 ...

  9. Git Fast Forward 和 no fast foward

    如果执行了 Fast Forward,开发者根本不会看到这个分支,就像在 master 直接 commit 一样.

  10. Git 关于Fast Forward提交的简单说明

    多人协同开发,使用Git经常会看到警告信息包含术语:fast forward, 这是何义? 简单来说就是提交到远程中心仓库的代码必须是按照时间顺序的. 比如A从中心仓库拿到代码后,对文件f进行了修改. ...

随机推荐

  1. 第一章 kubernetes概述

    一.Kubernetes概述 1.官网地址:https://kubernetes.io 2.GuiHub:https://github.com/kubernetes/kubernetes 3.又来:谷 ...

  2. 【设计模式】Java设计模式 - 单例模式

    [设计模式]Java设计模式 - 单例模式 不断学习才是王道 继续踏上学习之路,学之分享笔记 总有一天我也能像各位大佬一样 分享学习心得,欢迎指正,大家一起学习成长! 原创作品,更多关注我CSDN: ...

  3. Spark 读 Hbase

    package com.grady import org.apache.hadoop.hbase.HBaseConfiguration import org.apache.hadoop.hbase.c ...

  4. 使用 MAUI 在 Windows 和 Linux 上绘制 PPT 的图表

    我在做一个图表工具软件,这个软件使用 MAUI 开发.我的需求是图表的内容需要和 PPT 的图表对接,需要用到 OpenXML 解析 PPT 内容,读取到 PPT 图表元素的内容,接着使用 MAUI ...

  5. [Linux]-screen命令-切换终端

    在训练模型时,经常遇到需要采用多个策略同时跑的情况,直接运行的话比较费时,只要CPU和GPU支持,可以通过Linux的screen命令多终端并行,大大提升效率. 创建: screen -S name ...

  6. Java的线程状态

    在我们平时写code的时候,经常会使用到多线程.其中线程所处的状态就是我们需要进程思考的问题. 线程有哪些状态 NEW: 一个线程刚被创建,但是没有被使用就是处于这个状态 RUNNABLE: 一个线程 ...

  7. NetworkPolicy网络策略以及举例说明

    网络策略(NetworkPolicy)是一种关于pod间及pod与其他网络端点间所允许的通信规则的规范.NetworkPolicy 资源使用标签选择pod,并定义选定pod所允许的通信规则. 前提 网 ...

  8. 通过使用nginx来实现logstash的负载均衡

    文章转载自:https://blog.csdn.net/UbuntuTouch/article/details/106813223 总结: nginx配置,192.168.0.5 user nginx ...

  9. count(*), count(1), count(列名)的区别

    1.从结果上来看 count(1)和count(*)之间没有区别,因为count(*)count(1)都不会去过滤空值,但count(列名)就有区别了,因为count(列名)会去过滤空值. 2.从执行 ...

  10. TDengine的数据建模?库、表、超级表是什么?怎么用?

    ​欢迎来到物联网的数据世界 在典型的物联网场景中,一般有多种不同类型的采集设备,采集多种不同的物理量,同一种采集设备类型,往往有多个设备分布在不同的地点,系统需对各种采集的数据汇总,进行计算和分析对于 ...