編寫git指令碼.sh

SimoonJia發表於2024-05-20

舉例:更改連線方式後需要將遠端分支與本地分支同步:

驗證遠端 URL: 首先,確保你已經正確更改了遠端倉庫的 URL:

git remote -v

獲取所有遠端分支: 使用 git fetch 命令獲取所有遠端分支的最新資訊:

git fetch --all

檢視所有本地和遠端分支: 列出所有本地和遠端分支:

git branch -a

合併本地和遠端分支: 對於每個本地分支,執行以下步驟:

  切換到本地分支git checkout <local-branch>

  合併遠端分支git pull origin <remote-branch>

  這裡 <local-branch> 是本地分支的名字,<remote-branch> 是對應的遠端分支的名字。如果本地分支名與遠端分支名相同,可以簡化為:

  git pull origin

假設你有三個分支:maindevelopfeature-xyz,並且所有這些分支都在遠端倉庫 origin 中有對應的分支。

# 獲取所有遠端分支
git fetch --all

# 合併 main 分支
git checkout main
git pull origin main

# 合併 develop 分支
git checkout develop
git pull origin develop

# 合併 feature-xyz 分支
git checkout feature-xyz
git pull origin feature-xyz

自動化指令碼

如果你有很多分支,可以編寫一個簡單的指令碼來自動化這個過程:

#!/bin/bash

# 獲取所有遠端分支
git fetch --all

# 獲取所有本地分支
branches=$(git branch | sed 's/*//')

# 迴圈處理每個本地分支
for branch in $branches
do
  branch=$(echo $branch | xargs)  # 去除空白字元
  echo "Merging branch: $branch"
  git checkout $branch
  git pull origin $branch
done

# 切換回預設分支(例如 main)
git checkout main

儲存這個指令碼為 update_branches.sh,然後執行:

bash update_branches.sh

注意事項

  • 衝突解決:合併過程中可能會遇到衝突。你需要手動解決這些衝突,然後使用 git addgit commit 來完成合並。
  • 確保工作乾淨:在執行這些操作之前,確保你當前的工作目錄是乾淨的(沒有未提交的更改),以免導致意外的資料丟失。

透過這些步驟和技巧,你可以輕鬆地將本地分支與遠端分支全部合併,保持程式碼庫的最新狀態。

相關文章