Regenerate plugins/*/skills/ from plugins/*/.apm/ after the previous four commits, via scripts/sync-plugin-content.sh --all. The mirror is generated output (ADR-0017) that check-plugin-content-sync's pre-push hook diffs against .apm/; nothing here is hand-edited. Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01EeH8SCbcrCAQrtymkNuhKP
40 lines
2.1 KiB
Markdown
40 lines
2.1 KiB
Markdown
---
|
|
topic: remote-config
|
|
source_keys:
|
|
- git-scm-remote-docs
|
|
- context7-git-htmldocs
|
|
---
|
|
|
|
# Remote configuration
|
|
|
|
Which remotes exist, where they point, and what they track.
|
|
|
|
`rtk git remote show <name>` needs network access — use `-n` for cached data offline, or `rtk git remote -v`, which lists URLs without querying.
|
|
|
|
## Add, remove, rename, inspect
|
|
|
|
- **Add**: `rtk git remote add <name> <url>`, or `-f` to fetch immediately
|
|
- **Remove**: `rtk git remote remove <name>` — deletes the remote, all its tracking refs, and its config
|
|
- **Rename**: `rtk git remote rename <old> <new>`
|
|
- **Inspect**: `rtk git remote -v` (URLs, offline) or `rtk git remote show <name>` (live tracking status)
|
|
- **Effective URLs**: `rtk git remote get-url <name>` shows the URL after `insteadOf` rewrites; `rtk git remote get-url --push --all <name>` lists every push URL
|
|
|
|
## Tracking, mirroring, housekeeping
|
|
|
|
- **Track one branch**: `rtk git remote add -t <branch> <name> <url>` (repeatable); `--no-tags` suppresses tag import entirely
|
|
- **Mirror**: `--mirror=fetch` mirrors all refs locally (bare repos only); `--mirror=push` makes every push behave like `--mirror`
|
|
- **Prune stale tracking refs without fetching**: `rtk git remote prune <name>`, with `--dry-run` to preview
|
|
- **Default branch pointer**: `rtk git remote set-head <name> -a` (auto-detect, needs a prior fetch), `... <branch>` (explicit), `... -d` (delete `refs/remotes/<name>/HEAD`)
|
|
|
|
## `set-url` — full form
|
|
|
|
```bash
|
|
rtk git remote set-url <name> <newurl> # replace the first fetch URL
|
|
rtk git remote set-url <name> <newurl> <oldurl-regex> # replace only the URL matching regex
|
|
rtk git remote set-url --push <name> <url> # change push URL only (must point at same repo)
|
|
rtk git remote set-url --add <name> <url> # add an extra push URL (push to multiple remotes)
|
|
rtk git remote set-url --delete <name> <regex> # remove URLs matching regex
|
|
```
|
|
|
|
`--push` changes only where pushes go — fetch and push URLs must still reference the same repository. For genuine fetch-from-A / push-to-B workflows, use two separate named remotes instead; `--push` cannot do this.
|