dotfiles/.local/bin/git-worktree-setup.sh

22 lines
503 B
Bash

#!/usr/bin/env bash
set -e
url=$1
basename=${url##*/}
name=${2:-${basename%.*}}
mkdir -p "$name"
cd "$name"
git clone --bare "$url" .bare
echo "gitdir: ./.bare" > .git
git config remote.origin.fetch "+refs/heads/*:refs/remotes/origin/*"
git fetch origin
default_branch=$(git symbolic-ref refs/remotes/origin/HEAD | sed 's@^refs/remotes/origin/@@')
git worktree add "$default_branch"
osascript -e "tell application \"Terminal\" to do script \"cd '$PWD/$default_branch' && clear\" in front window"