提高cherry-pick效率的脚本
2021/4/26 18:27:53
本文主要是介绍提高cherry-pick效率的脚本,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!
## 背景
有一份代码, 需要被应用到多个分支上, 所以选择了cherry-pick来实现
但是当需要被cherry-pick的commit太多的时候, 需要一个个去找到对应的commit-id, 比较麻烦
## 解决办法:bash脚本
function get-commit-message-by-commit-id() { local commit_id=$1 git log --format=%B -n 1 $commit_id | cat } # 获取前N个commit的commit号, 用于cherry-pick function get-0-to-N-commits() { local commit_num=$1 echo "找出 $(git rev-parse --abbrev-ref HEAD) 分支最新的 (0..$commit_num) commits" for i in {0..$commit_num}; do local commit_id=$(git rev-parse HEAD~$i) echo "git cherry-pick $commit_id ; # 第 $i 个 $(get-commit-message-by-commit-id $commit_id)"; done }
## 用法
把当前分支的前11个commit,cherry-pick到其他分支上
### 步骤.1 列出需要被pick的comit, 并拼接成命令
lijunwei@bxzy:udesk_yy_oss$ get-0-to-N-commits 10
### 步骤.2 切到对应的分支, 从下到上(注意是从下到上pick), 依次cherry-pick
## 反思
cherry-pick的时候,会发现
+ 如果每个commit都是相对独立的, cherry-pick的体验很好
+ 如果每个commit整理得很乱, cherry-pick的体验时就会很痛苦, 可能需要反复解决冲突
这篇关于提高cherry-pick效率的脚本的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!
- 2024-09-28pyqt 怎么打包整个项目-icode9专业技术文章分享
- 2024-09-28laravel Commands 创建带有参数的 Artisan 命令的步骤和示例-icode9专业技术文章分享
- 2024-09-28antd怎么实现渲染tiff图片-icode9专业技术文章分享
- 2024-09-28英文半角中划线和中文全角的中划线有什么区别-icode9专业技术文章分享
- 2024-09-28nvm npm 和node 他们之间有什么关系-icode9专业技术文章分享
- 2024-09-28Node Version Manager (nvm)使用教程-icode9专业技术文章分享
- 2024-09-28nvm命令太慢,是什么原因-icode9专业技术文章分享
- 2024-09-28Kotlin 如何增加、删除和修改 MutableStateFlow 中的值。-icode9专业技术文章分享
- 2024-09-28Kotlin的stateFlow.update 写法介绍-icode9专业技术文章分享
- 2024-09-28kotlin 怎么获取当前时间格式-icode9专业技术文章分享