前言

在多人協作的專案中,經常需要合併不同的 Git 分支。手動完成這一流程不僅耗時,還可能出錯。因此,我們可以使用 Shell Script 來自動化這個過程。

功能描述

這個 Shell Script 能做到以下幾點:

1.列出所有可用的 Git 分支。
2.允許使用者選擇一個目標分支。
3.自動將當前分支合併到目標分支。
4.自動填寫 commit 訊息,格式為 日期-時間-來源分支。
5.自動 push 到遠程倉庫。
6.最後,會切換回原來的分支。

程式碼

以下是完整的 Shell Script:

#!/bin/bash

# 獲取當前分支名稱
current_branch=$(git rev-parse --abbrev-ref HEAD)

# 獲取所有分支並存入陣列
branches=($(git branch --all | sed 's/\* //g' | sed 's/ //g' | sed 's/remotes\///g'))

# 列出所有分支
echo "選擇一個分支來 merge:"
for i in "${!branches[@]}"; do
  echo "$i) ${branches[$i]}"
done

# 讀取使用者輸入
read -p "輸入分支的數字: " branch_number

# 獲取目標分支名稱
target_branch="${branches[$branch_number]}"

# 切換到目標分支
git checkout $target_branch

# Merge 並提交
timestamp=$(date "+%Y-%m-%d %H:%M:%S")
git merge $current_branch -m "$timestamp-$current_branch"

# Push 到遠端
git push

# 切回原始分支
git checkout $current_branch

echo "完成。"

使用方法

將以上程式碼儲存為 .sh 檔案,例如 git_merge_script.sh。
給予執行權限:chmod +x git_merge_script.sh。
在 git repository 內執行這個腳本:./git_merge_script.sh。

總結

這個簡單的 Shell Script 可以極大地簡化 Git 分支合併的過程,尤其是在多人協作的環境中。當然,這個腳本是基礎版本,你可以根據自己的需求進行修改和擴展。希望這能幫助你提升工作效率!

最後修改日期: 2023 年 8 月 29 日

作者