请教各位大佬,关于 git 同一笔 commit 提交多个分支,如何操作最方便?

10 天前
 MiraiWithRin

问题概述

假设有十个基于 master 的 branch ,如果 master 提交了 bugfix 的 commit ,

如何提交到各个 branch 最为简单?可以不考虑冲突,此类提交也基本不会有冲突。

为什么不 merge master ?

因为有的项目是已经封板了的,不能更新需求,也有的项目代码是外发合作开发的,

公司规定不允许 merge master

目前的方法

当前是专门拉一个干净的有全部 branch 的仓库,一个一个切换分支 cherry-pick ,但是感觉很笨,

所以请教各位大佬有没有更优解?

先谢谢各位

983 次点击
所在节点    问与答
10 条回复
RightHand
10 天前
限制那么多?那就 ctrl c v
Garwih
10 天前
基于公共祖先 commit 创建一个 fix 分支,修复后再合并到各个分支。
kongkongkong101
10 天前
写个 sh 脚本,循环里做 switch cherrypick push
codersherlock
10 天前
@kongkongkong101 +1 ,cherrypick -ne 0 然后记下来,最后在手动 rebase
povsister
10 天前
backport 的通用做法就是 cherrypick ,至于要一个个操作…?你们没有 ci bot 吗?
PR 下面留个 command 指定要 backport 的分支/release tag ,剩下 bot 会帮你搞定
COW
10 天前
foreach{
checkout $branch
cherry-pick $patch_commit --abort
}
MiraiWithRin
10 天前
@RightHand 谢谢老哥回复,我这代码 400G+,没这么多空间来 CV ,一个人也就分几个仓库而已
MiraiWithRin
10 天前
@povsister 代码太大了,不适合 CI ,然后也从来没人用过 tag 呢
ftfunjth
10 天前
git rebase —onto <remote-target-branch> HEAD~1 && git push HEAD:refs/heads/<target-branch-name>
nekochyan
10 天前
Cherry-pick ,idea 上叫优选

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/1087946

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX