登录
/
注册
首页
论坛
其它
首页
科技
业界
安全
程序
广播
Follow
关于
博客
发1篇日志+1圆
记录
发1条记录+2圆币
发帖说明
登录
/
注册
账号
自动登录
找回密码
密码
登录
立即注册
搜索
搜索
关闭
CSDN热搜
程序园
精品问答
技术交流
资源下载
本版
帖子
用户
软件
问答
教程
代码
VIP网盘
VIP申请
网盘
联系我们
道具
勋章
任务
设置
我的收藏
退出
腾讯QQ
微信登录
返回列表
首页
›
业界区
›
安全
›
[学习笔记]使用git rebase做分支差异化同步 ...
[学习笔记]使用git rebase做分支差异化同步
[ 复制链接 ]
嗳歉楞
2025-6-9 20:02:39
在一个.NET 项目中,使用了Volo.Abp库,但出于某种原因,需要源码调试,因此,使用源码方式集成的项目做了一个分支archive-abp-source
其中引用方式变更操作的提交为:7de53907
后续,在master分支中,又新增了若干个提交,现在的目标是:把 master 分支中后续的所有提交,除了 7de53907... 这个 commit,合并到archive-abp-source分支。
这在 Git 中不是一个“标准的 merge”操作(Git merge 默认会把所有 commit 都合并)。不过,可以通过以下步骤达成这个目的:
基于 master 创建临时分支
git checkout master
git checkout -b temp-merge
复制代码
使用交互式 rebase 删除指定提交
git rebase -i --rebase-merges <common-base-commit>
复制代码
common-base-commit 是当前分支与 master 的共同祖先,比如用 git merge-base master archive-abp-source 找到。结果就是 ,可用于 rebase -i 时指定起点。
如果你知道数量,也可以简单地 rebase 最近 20 次提交:
git rebase -i HEAD~20
然后在打开的编辑器中把 7de53907... 那一行改为 drop,保存退出即可。
切回目标分支,执行合并
git checkout archive-abp-source
git merge temp-merge
复制代码
[可选]删除临时分支
git branch -d temp-merge
复制代码
来源:程序园用户自行投稿发布,如果侵权,请联系站长删除
免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!
回复
使用道具
举报
提升卡
置顶卡
沉默卡
喧嚣卡
变色卡
千斤顶
照妖镜
高级模式
B
Color
Image
Link
Quote
Code
Smilies
您需要登录后才可以回帖
登录
|
立即注册
回复
本版积分规则
回帖并转播
回帖后跳转到最后一页
签约作者
程序园优秀签约作者
发帖
嗳歉楞
2025-6-9 20:02:39
关注
0
粉丝关注
17
主题发布
板块介绍填写区域,请于后台编辑
财富榜{圆}
敖可
9984
黎瑞芝
9990
杭环
9988
4
猷咎
9988
5
凶契帽
9988
6
接快背
9988
7
氛疵
9988
8
恐肩
9986
9
虽裘侪
9986
10
里豳朝
9986
查看更多