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
文章標籤
全站熱搜
