Files
holocron/plugins/git/skills/git-remotes/references/remote-config.md
Defame1297 af8b46cd57 chore(plugins): sync generated content mirrors
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
2026-09-07 20:43:51 +00:00

2.1 KiB

topic, source_keys
topic source_keys
remote-config
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

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.