myTestFreqAI/tools/mergeme.sh
zhangkun9038@dingtalk.com a7fc495113 up
2025-05-19 07:13:26 +00:00

43 lines
1.2 KiB
Bash
Executable File

#!/bin/bash
set -e # 出错立即停止
# 获取参数
source_branch=$1
target_branch=$2
# 确保传入了两个参数
if [ -z "$source_branch" ] || [ -z "$target_branch" ]; then
echo "❌ 使用方法: $0 <源分支> <目标分支>"
echo "示例: $0 theforce-noai-test base"
exit 1
fi
# 定位到 Git 仓库根目录
cd "$(git rev-parse --show-toplevel)"
# 获取当前分支名
current_branch=$(git rev-parse --abbrev-ref HEAD)
# 如果当前不在 source_branch 上,则切换过去
if [ "$current_branch" != "$source_branch" ]; then
echo "🔄 当前在分支 '$current_branch',正在切换到 '$source_branch'"
git checkout "$source_branch"
fi
echo "📥 正在拉取 '$source_branch' 的最新代码..."
git pull origin "$source_branch"
echo "📥 正在拉取目标分支 '$target_branch' 的最新代码..."
git fetch origin "$target_branch"
echo "🔄 正在合并 '$target_branch' 到 '$source_branch'"
git merge "origin/$target_branch" -m "Merge branch '$target_branch' into $source_branch"
# 如果有冲突,需要手动解决,脚本会在此处中断
echo "📤 正在推送合并后的代码到远程 '$source_branch'"
git push origin "$source_branch"
echo "✅ 合并完成并已推送到远程分支 '$source_branch'"