Three statements were false against the git in use (2.39.5), each verified by
running it.
`git rebase --autosquash HEAD~N` without `-i` is a silent no-op: git prints
"Successfully rebased", the `fixup!` commit survives with the same SHA, and
rewrite-history.md presented that as the preferred flow with `-i` as an optional
review step. The agent reports the squash as done and the `fixup!` subject then
trips this repo's own commit-msg gate. `-i` is now the command, not the alternative.
"Fetch never modifies a local branch, so it is always safe to run" — new text on
this branch — is false: `git fetch origin main:probe` fast-forwarded the local
branch, and a `+` prefix force-updates it, losing commits. The claim is scoped to
the no-refspec form.
`git worktree add --orphan` does not exist before Git 2.42; on 2.39.5 it is
`error: unknown option 'orphan'`, exit 129. The same file gives a version floor for
`--recurse-submodules` three sections earlier. Floor added, with a fallback that
was tested before being documented.
git-workflow claimed "every request resolves to exactly one of these six" while
rebase, reset and stash were owned by no skill — `git reset` appeared nowhere in
the plugin, old tree or new — so "undo my last commit" routed nowhere. The claim is
gone, the router gains rows for all three, and the procedures now exist: plain
rebase with `--onto` and conflict handling, a reset mode table gated on `--hard`,
and stash save/pop/list/drop. `--hard` gets an always-loaded Gotcha, matching the
register the force-push refusal already sets.
Cherry-pick had three claimants pointing at git-history while git-commits owned the
flow, and the two copies were not equivalent — git-history's lacked the destination
check, the rtk prefix and `--abort`. Resolved to git-commits per #112; the weaker
duplicate is replaced by a hand-off.
git-commits' metadata.version was deleted rather than bumped in 14af50b, leaving two
house-contract documents citing a worked v0.1.2 to v0.1.3 transition against a file
declaring no version. Restored to 0.1.3.
Also: the divergent-pull explanation stated a `--ff-only` default that does not
exist (it is a hard error); `--remote` "requires" a configured branch where it uses
one; `git push origin --delete` moved to git-remotes, which owns the remote-side
gates; seven retired `git:<name>` source slugs; git-orchestrate quoted a
git-workflow sentence that no longer exists; git-submodules regains the indirect
trigger that made "add a dependency repo" routable; and commit atomicity is a common
gate rather than reachable only from the create flow.
Refs: #112, #113
1.5 KiB
1.5 KiB
topic, source_keys
| topic | source_keys | |
|---|---|---|
| submodules |
|
git-scm-submodule-docs
Description: Official git-scm.com reference for git submodule — all subcommands, flags, configuration keys, and behaviour details.
Source: https://git-scm.com/docs/git-submodule
- Research doc: plugins/git/docs/research/docs/git/submodules.md (whole-document reference — the research doc is organized by descriptive prose headings such as "Concept Overview" and "Key Commands" rather than a heading matching this slug; this key covers the entire doc, not a single section)
Contributing files:
- SKILL.md (all sections)
- references/setup-and-update.md (all sections)
- references/urls-and-config.md (all sections)
- references/removal.md (all sections)
Other source keys extracted during the git plugin research phase inform sibling skills in the git workflow suite, not this one:
context7-git-htmldocs— git-branches, git-history, git-remotesgit-scm-docs— no current skill; it backed a git-configuration skill that no longer exists and survives here as provenance onlygit-scm-worktree-docs— git-worktreesnvie-gitflow-post,atlassian-gitflow-tutorial,gitflow-cheatsheet— git-branchesconventional-commits-spec,commitlint-config-conventional— git-commitsgit-scm-push-docs,git-scm-fetch-docs,git-scm-pull-docs,git-scm-remote-docs— git-remotesgit-scm-bisect-docs,git-scm-log-docs,git-scm-diff-docs— git-history