You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何编写Bash/Shell脚本实现Git切分支并cherrypick指定提交

对应需求的Shell脚本实现

注意你提到的git cherrypick命令存在拼写错误,Git原生拣选提交的命令是git cherry-pick,脚本中会使用正确命令,同时增加基础容错避免执行异常。

完整脚本代码

#!/bin/bash
# 开启容错:任意命令执行失败、引用未定义变量、管道命令出错时直接终止脚本
set -euo pipefail

# 第一步:获取当前分支名存入INPUT变量
INPUT=$(git branch --show-current)

# 校验分支名有效性,分离头指针状态下获取到的值为空,直接终止
if [ -z "$INPUT" ]; then
    echo "执行失败:当前处于分离头指针状态,未检测到有效分支名"
    exit 1
fi

# 第二步:切换到master分支
git checkout master

# 第三步:将原分支的提交拣选到当前master分支
git cherry-pick "$INPUT"

使用步骤

  • 把上面的代码保存为任意名称的shell文件,比如pick-to-master.sh
  • 执行chmod +x pick-to-master.sh给脚本添加可执行权限
  • 进入目标Git仓库目录,运行./pick-to-master.sh即可完成操作

补充说明:如果你要拣选的不是原分支的最新顶点提交,只需要修改INPUT的赋值逻辑,传入对应commit哈希即可;如果你的本地主分支名是main而不是master,把脚本里的master替换成main就行。

内容的提问来源于stack exchange,提问作者Manikanta reddy

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.03 02:18:14