解决“fast-forward, aborting”问题
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”问题的更多相关文章
- Git – Fast Forward 和 no fast foward
Git 很是强大,在体验过rebase的华丽之后,再次发现之前在TFS上遇到的问题一下都有解了.但也印证了Git深入并非易事.这篇就谈下一个容易迷糊的概念:Fast forward. Fast-For ...
- mzy git学习,禁用Fast forward的普通合并(六)
git merge --no-ff -m "msg" x-branch:禁用Fast forward的普通合并 通常,合并分支时,如果可能,Git会用Fast forward模式, ...
- Git分支(2/5) -- Fast Forward 合并
快捷操作: 切换并创建分支: git checkout -b 分支名. git checkout -b some-change 然后我打开某个文件(index.html)修改一下标题. Commit之 ...
- Git的fast forward和no fast forward和 three way merge 以及squash(聚合)
github上上传了版本库https://github.com/ChuckGitMerge 包括merge和rebase 没时间画图,貌似也不太会用画图工具,先写了一个文字版本的 更新:2015年 ...
- Git:非Fast forward下的合并(--no-ff方式的git merge)
创建dev分支,并且修改readme.txt的内容,然后提交 使用git merge --no-ff -m "说明内容" 分支名称合并分支 使用git log --graph -- ...
- git教程5-查看关系图与no fast forward融合
1.每一个提交相当于一个版本,版本都有版本号与之对应.通常通过git commit -m "name"为每次提交命名. 2.融合:即将次分支的最后一个版本添加到主分支上.当融合冲突 ...
- Git 分支管理 不使用Fast forward模式进行合并 分支管理策略
通常,合并分支时,如果可能,Git会用Fast forward模式,但这种模式下,删除分支后,会丢掉分支信息. 如果要强制禁用Fast forward模式,Git就会在merge时生成一个新的comm ...
- 【Todo】git的fast forward & git命令学习 & no-ff
git的fast-forward在之前的文章有介绍过,但是介绍的不细: http://www.cnblogs.com/charlesblc/p/5953066.html fast-forward方式就 ...
- Git Fast Forward 和 no fast foward
如果执行了 Fast Forward,开发者根本不会看到这个分支,就像在 master 直接 commit 一样.
- Git 关于Fast Forward提交的简单说明
多人协同开发,使用Git经常会看到警告信息包含术语:fast forward, 这是何义? 简单来说就是提交到远程中心仓库的代码必须是按照时间顺序的. 比如A从中心仓库拿到代码后,对文件f进行了修改. ...
随机推荐
- 流媒体协议扫盲(rtp/rtcp/rtsp/rtmp/mms/hls)
RTP 参考文档 RFC3550/RFC3551 Real-time Transport Protocol)是用于Internet上针对多媒体数据流的一种传输层协议.RTP协议详细 ...
- 《吐血整理》进阶系列教程-拿捏Fiddler抓包教程(18)-Fiddler如何接口测试,妈妈再也不担心我不会接口测试了
1.简介 Fiddler最大的优势在于抓包,我们大部分使用的功能也在抓包的功能上,fiddler做接口测试也是非常方便的. 领导或者开发给你安排接口测试的工作任务,但是没有给你接口文档(由于开发周期没 ...
- 强扩展、强一致、高可用…GaussDB成为游戏行业的心头爱
摘要:看GaussDB for Redis强扩展.高可用.强一致.高安全,如何玩转各大游戏场景 本文分享自华为云社区<GaussDB为什么成为游戏行业的心头爱?>,作者: GaussDB ...
- Java 多线程:线程池
Java 多线程:线程池 作者:Grey 原文地址: 博客园:Java 多线程:线程池 CSDN:Java 多线程:线程池 工作原理 线程池内部是通过队列结合线程实现的,当我们利用线程池执行任务时: ...
- Linux安装RabbitMQ教程(文件下载地址+安装命令+ 端口开放 + 用户创建 +配置文件模板+端口修改)
前言 1.安装RabbitMQ前需先安装erlang, 且两者需要版本对应, 否则无法正常启动RabbitMQ (本教程使用22.0.7版本的erlang和3.8.6版本的Rabbitmq) 版本对应 ...
- C++ 左值引用与 const 关键字
左值引用是已定义的变量的别名,其主要用途是用作函数的形参,通过将左值引用变量用作参数,函数将使用原始数据,而不是副本.引用变量必须在声明时同时初始化,可将 const 关键字用于左值引用,如下所示: ...
- .NET静态代码织入——肉夹馍(Rougamo) 发布1.2.0
肉夹馍(https://github.com/inversionhourglass/Rougamo)通过静态代码织入方式实现AOP的组件,其主要特点是在编译时完成AOP代码织入,相比动态代理可以减少应 ...
- 微服务系列之授权认证(三) JWT
1.JWT简介 官方定义:JWT是JSON Web Token的缩写,JSON Web Token是一个开放标准(RFC 7519),它定义了一种紧凑的.自包含的方式,可以将各方之间的信息作为JSON ...
- 案例分享 生产环境逐步迁移至k8s集群 - pod注册到consul
#案例分享 生产环境逐步迁移至k8s集群 - pod注册到consul #项目背景 多套业务系统, 所有节点注册到consul集群,方便统一管理 使用consul的dns功能, 所有节点hostnam ...
- 微信小程序发布与支付
一.小程序的发布流程 小程序协同工作和发布官网链接 1.背景 小程序的平台里,开发者完成开发之后,需要在开发者工具提交小程序的代码包,然后在小程序后台发布小程序. 2.流程 上传代码 代码管理服务器上 ...