{
  "schema_version": "1.0",
  "slug": "security/git-history-rewrite-detection",
  "source_path": "security/git-history-rewrite-detection.md",
  "url": "https://finwiki.zksc.io/ja/security/git-history-rewrite-detection/",
  "html_url": "https://finwiki.zksc.io/ja/security/git-history-rewrite-detection/",
  "alternate_html_urls": {
    "ja": "https://finwiki.zksc.io/ja/security/git-history-rewrite-detection/",
    "en": "https://finwiki.zksc.io/en/security/git-history-rewrite-detection/"
  },
  "github_url": "https://github.com/jasonhnd/finwiki/blob/main/security/git-history-rewrite-detection.md",
  "raw_markdown_url": "https://finwiki.zksc.io/security/git-history-rewrite-detection.md",
  "domain": "security",
  "title": "Git history rewrite detection — recovering squashed and force-pushed states",
  "entry_type": "wiki_entry",
  "frontmatter": {
    "title": "Git history rewrite detection — recovering squashed and force-pushed states",
    "aliases": [
      "git history rewrite detection",
      "force-push forensics",
      "git 履歴改竄の検出"
    ],
    "domain": "security",
    "type": null,
    "created": "2026-06-03",
    "last_updated": "2026-06-03",
    "last_tended": "2026-06-03",
    "review_by": "2026-12-03",
    "confidence": "likely",
    "tags": [
      "security",
      "forensic",
      "git",
      "source-code",
      "evidence-preservation",
      "supply-chain"
    ],
    "status": "active",
    "canonical_anchor": null,
    "related": [],
    "note": null,
    "sources": [
      "https://git-scm.com/docs/git-fsck",
      "https://git-scm.com/docs/git-reflog",
      "https://docs.github.com/en/rest/activity/events",
      "https://docs.github.com/en/rest/using-the-rest-api/github-event-types"
    ]
  },
  "summary": "This entry sits under security domain. It is the source-code analogue of Wayback Machine as a forensic tool (which recovers de-published web content), and it feeds the people-layer work in forensic identity anchor chain by recovering committer emails and timestamps that a rewrite tried to erase.",
  "headings": [
    "Git history rewrite detection — recovering squashed and force-pushed states",
    "Wiki route",
    "Why rewritten history is recoverable",
    "Detection procedure (public, reproducible)",
    "Companion to Wayback",
    "When to use",
    "When NOT to use",
    "Related",
    "Sources"
  ],
  "body_links": {
    "wikilinks_count": 5,
    "wikilinks": [
      "security/INDEX",
      "security/forensic-identity-anchor-chain",
      "security/fork-and-rebrand-5-layer-audit-framework",
      "security/module-path-confusion-supply-chain-attack",
      "security/wayback-machine-as-forensic-tool"
    ],
    "resolved_wikilinks": [
      "https://finwiki.zksc.io/ja/domains/security/",
      "https://finwiki.zksc.io/ja/security/forensic-identity-anchor-chain/",
      "https://finwiki.zksc.io/ja/security/fork-and-rebrand-5-layer-audit-framework/",
      "https://finwiki.zksc.io/ja/security/module-path-confusion-supply-chain-attack/",
      "https://finwiki.zksc.io/ja/security/wayback-machine-as-forensic-tool/"
    ],
    "external_links_count": 2,
    "external_links": [
      "https://docs.github.com/en/rest/activity/events",
      "https://docs.github.com/en/rest/using-the-rest-api/github-event-types"
    ]
  },
  "metrics": {
    "nonspace_chars": 5491,
    "word_like_tokens": 946,
    "inbound_wikilinks_count": 1,
    "last_modified": "2026-06-03"
  }
}
