Skip to main content

create-worktree

Create or reuse a git worktree for a pull request or branch so reviews and work happen in isolation

Quellinformationen

Repository
dlt-hub/dlt
Letzte Quellaktivität
5. August 2026 um 17:06
Erkannte Sprache von SKILL.md
Englisch
Sterne
5.954
Forks
621

Installationsoptionen

Standardmäßig ist der Prompt ausgewählt, der zuerst die Quelle prüft. Sie können zu einem direkten Befehl wechseln oder eine lokale Kopie herunterladen.

Quelldateien prüfen

Lesen Sie SKILL.md und alle von SkillsMP angezeigten Begleitdateien, bevor Sie sich für eine Installation entscheiden.

SKILL.md wird angezeigt

SKILL.md
Quellanweisungen · Schreibgeschützte Vorschau
name
create-worktree
description
Create or reuse a git worktree for a pull request or branch so reviews and work happen in isolation
argument-hint
<name> [--pr <number>] [--branch <ref>]
# Git Worktree Set up an isolated git worktree. Parse `$ARGUMENTS` to extract: - The worktree name (required) — used as the directory name under `.worktrees/` - `--pr <number>` (optional) — checkout a GitHub PR into the worktree using `gh pr checkout` - `--branch <ref>` (optional) — create the worktree from a specific branch or ref ## Steps ### 1. Determine worktree path The worktree path is: `<repo-root>/.worktrees/<name>` For example, if the repo root is `/home/user/src/dlt` and the name is `review-pr-3584`, the worktree path is `/home/user/src/dlt/.worktrees/review-pr-3584`. Create the `.worktrees` directory if it does not exist: ``` mkdir -p <repo-root>/.worktrees ``` ### 2. Create or reuse the worktree Check if a worktree already exists at that path: ``` git worktree list ``` - **If a worktree already exists** at the target path, reuse it. - If `--pr` was given, run `cd <worktree-path> && gh pr checkout <number>` to make sure it is up to date. - If `--branch` was given, run `git -C <worktree-path> checkout <ref>`. - **If no worktree exists** at the target path, create one: - If `--pr` was given, first resolve the PR's branch name: `gh pr view <number> --json headRefName -q .headRefName` - If `--pr` or `--branch` was given, check `git worktree list` output for any **other** worktree that already has the same branch checked out. If found: - Use `AskUserQuestion` to ask the user: "Branch `<branch>` is already checked out in worktree `<existing-path>`. Use that worktree instead?" - If the user says yes, use the existing worktree path (skip creation, proceed to step 3 with the existing path). - If the user says no, **STOP** — do not create a new worktree. Print a message explaining that the branch is already checked out elsewhere and exit. - If no conflict, create the worktree: - If `--branch` was given: `git worktree add .worktrees/<name> <ref>` - Otherwise: `git worktree add .worktrees/<name> --detach` - Callers needing a new branch check it out afterwards: `git checkout --no-track -b <new-branch>` - If `--pr` was given, then also: `cd <worktree-path> && gh pr checkout <number>` - `gh pr checkout` handles fetching, fork tracking, and branch setup automatically. ### 3. Switch cwd ``` cd <worktree-path> ``` Then verify the switch took effect: ``` pwd ``` If `pwd` does not show the worktree path, stop with an error — the cwd did not persist. ### 4. Report ``` Worktree ready: <worktree-path> ```
Auf GitHub ansehen