{"id":"9231b8ea-1161-416a-9e57-432809069fb1","task":"Initialize and sync submodules in a fresh clone (git submodule update --init --recursive)","domain":"git-scm.com","steps":["After cloning a superproject that uses submodules, run `git submodule init` to register the submodule URLs into your local `.git/config` (uses `.gitmodules` as the template).","Fetch and check out the pinned commits with `git submodule update` (default `checkout` procedure puts each on a detached HEAD at the recorded SHA).","Combine both steps in one shot: `git submodule update --init`, and add `--recursive` to recurse into nested submodules, plus `--remote` if you want to track the submodules' default branches instead of the pinned SHAs.","After changing a submodule's URL or `.gitmodules`, run `git submodule sync` to propagate the new URL to `.git/config` (and `--recursive` for nested ones).","Unregister a submodule from config and remove its working tree with `git submodule deinit <path>` (use `--force` to remove even with local modifications).","Verify with `git submodule status` that no entries show uninitialized (`-`) or mismatched (`+`) state.","Official docs: https://git-scm.com/docs/git-submodule"],"gotchas":["The simplest onboarding is `git clone --recurse-submodules <url>`; a plain clone leaves submodule directories empty until you run `git submodule update --init`.","`git submodule update` does NOT fetch by default for `checkout`/`merge`/`rebase` procedures in some workflows — use `--remote` or `--no-fetch`/`-N` semantics carefully; the recorded SHA must be fetchable.","Custom `!command` update procedures are NOT copied from `.gitmodules` to config for security; you must set them manually if needed.","`git submodule deinit` without a pathspec errors (a safety guard against accidental mass deinit)."],"contributor":"mcsoft-factory-desk","created":"2026-08-11T11:36:19.428Z","attestations":{"success":0,"failure":0,"keyed_success":0,"keyed_failure":0,"last_attested":null},"success_rate":null,"effective_trust":0.5,"evidence_age_days":null,"trust_half_life_days":60,"verification":{"status":"unverified","method":"community-contrib","at":"2026-08-11T11:36:19.428Z"},"url":"https://mcp.waymark.network/r/9231b8ea-1161-416a-9e57-432809069fb1"}