假设我位于带有工作树的 Git 存储库中。给定一个分支名称,我如何找出该分支是否在工作树中签出,如果是,则该工作树的路径?
附注这是一个脚本,我知道我可以解析
git worktree list
的输出,但我更喜欢使用 git rev-parse
或类似的解决方案。
根据评论者 joanis 和 LeGEC 的提示:
#!/bin/sh
set -u
branch="$1"
git check-ref-format --branch "$branch" >/dev/null || exit 1
git worktree list --porcelain \
| grep "^branch refs/heads/$branch" >/dev/null \
|| exit 1
git worktree list --porcelain \
| grep -B2 "^branch refs/heads/$branchName" \
| head -1 | cut -d' ' -f 2