odex25_standard/checkout_dev_branches_Extra...

29 lines
808 B
Bash
Executable File

#!/bin/bash
# Prune worktree references to remove any missing worktrees
git worktree prune
# List remote branches that start with 'origin/dev'
for branch in $(git branch -r | grep 'origin/dev' | sed 's|origin/||'); do
# Extract the directory name without 'dev_' prefix
dir_name=$(echo $branch | sed 's|^dev_||')
# 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