33 lines
922 B
Bash
Executable File
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
|
|
|