假设有十个基于 master 的 branch ,如果 master 提交了 bugfix 的 commit ,
如何提交到各个 branch 最为简单?可以不考虑冲突,此类提交也基本不会有冲突。
因为有的项目是已经封板了的,不能更新需求,也有的项目代码是外发合作开发的,
公司规定不允许 merge master
当前是专门拉一个干净的有全部 branch 的仓库,一个一个切换分支 cherry-pick ,但是感觉很笨,
所以请教各位大佬有没有更优解?
先谢谢各位
1
RightHand 12 天前 via Android
限制那么多?那就 ctrl c v
|
2
Garwih 12 天前 via iPhone
基于公共祖先 commit 创建一个 fix 分支,修复后再合并到各个分支。
|
3
kongkongkong101 12 天前 via iPhone 1
写个 sh 脚本,循环里做 switch cherrypick push
|
4
codersherlock 12 天前 via iPhone 1
@kongkongkong101 +1 ,cherrypick -ne 0 然后记下来,最后在手动 rebase
|
5
povsister 12 天前 via iPhone
backport 的通用做法就是 cherrypick ,至于要一个个操作…?你们没有 ci bot 吗?
PR 下面留个 command 指定要 backport 的分支/release tag ,剩下 bot 会帮你搞定 |
6
COW 12 天前 via Android
foreach{
checkout $branch cherry-pick $patch_commit --abort } |
7
MiraiWithRin OP @RightHand 谢谢老哥回复,我这代码 400G+,没这么多空间来 CV ,一个人也就分几个仓库而已
|
8
MiraiWithRin OP @povsister 代码太大了,不适合 CI ,然后也从来没人用过 tag 呢
|
9
ftfunjth 12 天前 via iPhone
git rebase —onto <remote-target-branch> HEAD~1 && git push HEAD:refs/heads/<target-branch-name>
|
10
nekochyan 12 天前
Cherry-pick ,idea 上叫优选
|