{"version":"2.1.248","anchor":"git-runs-with-a-pinned-environment-and-a-blocked-flag-list","canonical_anchor":"git-runs-with-a-pinned-environment-and-a-blocked-flag-list","heading":"Git runs with a pinned environment and a blocked-flag list","tier":"notice","area":"Git Integration","scope":null,"heads_up":null,"url":"https:\/\/changelogs.core-directive.com\/v\/2.1.248\/e\/git-runs-with-a-pinned-environment-and-a-blocked-flag-list","release_url":"https:\/\/changelogs.core-directive.com\/v\/2.1.248","markdown":"### Git runs with a pinned environment and a blocked-flag list\n\nGit now runs under fixed environments that block network protocols unless the operation needs them.\n\n**What**\n\nGit commands now run under fixed environment maps rather than ones assembled per call. The restricted map sets `GIT_ALLOW_PROTOCOL` to `none` and `GIT_TERMINAL_PROMPT` to `0` so git cannot fetch over the network or prompt for credentials; a second map allows `file:git:http:https:ssh` where network access is intended.\n\n**Details**\n\n- Both maps point git's config graft at `\/dev\/null` (or the platform equivalent) so repo-supplied config cannot take effect.\n- A separate set names git global flags that are rejected during command parsing, including `--exec-path`, `--git-dir`, `--attr-source` and `--shallow-file`.\n- Invocations pass `safe.bareRepository=explicit`, so git will not treat a stray directory as a bare repo.\n\n**Evidence**\n\n`safe.bareRepository=explicit`\n\n- Area: Git Integration\n- Names: `GIT_ALLOW_PROTOCOL`, `GIT_TERMINAL_PROMPT`\n- Tier: You'll notice\n- Useful: 3\/5\n- Signal: 2\/5"}