前言
在多人協作的專案中,經常需要合併不同的 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 分支合併的過程,尤其是在多人協作的環境中。當然,這個腳本是基礎版本,你可以根據自己的需求進行修改和擴展。希望這能幫助你提升工作效率!