odex25_standard/checkout_preprod_branches_E...

33 lines
922 B
Bash
Executable File

#!/bin/bash
# Prune worktree references to remove any missing worktrees
git worktree prune
# List remote branches that start with 'origin/preprod'
for branch in $(git branch -r | grep 'origin/preprod' | sed 's|origin/||'); do
# Extract the directory name without 'preprod_' prefix
dir_name=$(echo $branch | sed 's|^preprod_||')
# Debug output
echo "Processing branch: $branch"
echo "Directory name: $dir_name"
# Create the directory if it doesn't exist
mkdir -p "../${dir_name}"
# Add the worktree
git worktree add "../${dir_name}" "origin/${branch}" || {
echo "Failed to add worktree for branch ${branch}"
continue
}
# Change to the new worktree directory and check out the branch
cd "../${dir_name}"
git checkout "${branch}" || {
echo "Failed to checkout branch ${branch} in directory ${dir_name}"
continue
}
cd - > /dev/null
done