Script 及readme.md 由ChatGPT產生


在切branch, pull, merge時,會自動 pod install

一次性安裝 (雙擊 setup_hooks.command 安裝 git hook)

  • post-checkout (主要是這個)

iOS 專案自動安裝 CocoaPods

本專案包含 Git Hooks,自動在你切換分支、拉取程式碼後執行 pod install,避免忘記安裝依賴導致編譯失敗。

  • post-checkout

功能說明

安裝後會在以下 Git 操作後自動執行 pod install:

  • git checkout
  • git pull
  • git merge

這些動作會觸發 .git/hooks/post-checkout、post-merge 等 hook,自動安裝 CocoaPods。

 

🚀 安裝方式

只需一次,雙擊執行下列腳本即可: 點兩下 setup_hooks.command


# post-checkout的內容

 


#!/bin/bash
cd "$(dirname "$0")" # 切換到腳本所在的資料夾
chmod +x setup_hooks.sh
./setup_hooks.sh

echo "🛠️ 開始安裝 Git hook..."

HOOKS_DIR=".git/hooks"
HOOK_FILE="$HOOKS_DIR/post-checkout"

# 確保 hooks 資料夾存在
if [ ! -d "$HOOKS_DIR" ]; then
  echo "❌ 找不到 .git/hooks 資料夾,請確認你已經初始化 Git 倉庫(git init 或 git clone)"
  exit 1
fi

# 建立 post-checkout hook
cat > "$HOOK_FILE" << 'EOF'
#!/bin/bash

previous_head="$1"
new_head="$2"
branch_checkout="$3"

if [ "$branch_checkout" -eq 1 ]; then
  echo "🔍 檢查 Podfile 是否有變更..."

  diff_files=$(git diff --name-only "$previous_head" "$new_head" | grep -E "Podfile|Podfile.lock")

  if [ -n "$diff_files" ]; then
    echo "📦 偵測到 Podfile 或 Podfile.lock 有變更,執行 pod install..."
    cd "$(git rev-parse --show-toplevel)"
    LANG=en_US.UTF-8 pod install
  else
    echo "✅ Podfile 無變更,略過 pod install。"
  fi
fi
EOF

chmod +x "$HOOK_FILE"
echo "✅ Git hook 安裝完成!每次切換 branch 時會自動檢查是否需要 pod install"

echo "按任意鍵關閉..."
read -n 1


文章標籤
全站熱搜
創作者介紹
創作者 小賢 的頭像
小賢

小賢的部落格

小賢 發表在 痞客邦 留言(0) 人氣(47)