{
  "id": "git/merge-abort-no-merge-in-progress",
  "signature": "fatal: There is no merge to abort (MERGE_HEAD missing).",
  "signature_zh": "致命错误：没有正在进行的合并可中止（MERGE_HEAD缺失）。",
  "regex": "fatal: There is no merge to abort \\(MERGE_HEAD missing\\)",
  "domain": "git",
  "category": "runtime_error",
  "subcategory": null,
  "root_cause": "Running 'git merge --abort' when no merge operation is in progress, typically because the merge already completed or was never started.",
  "root_cause_type": "generic",
  "root_cause_zh": "在没有正在进行合并操作时运行'git merge --abort'，通常是因为合并已完成或从未开始。",
  "versions": [
    {
      "version": "2.40.0",
      "introduced": null,
      "deprecated": null,
      "removed": null,
      "behavior_change": null,
      "status": "active"
    },
    {
      "version": "2.41.0",
      "introduced": null,
      "deprecated": null,
      "removed": null,
      "behavior_change": null,
      "status": "active"
    },
    {
      "version": "2.42.0",
      "introduced": null,
      "deprecated": null,
      "removed": null,
      "behavior_change": null,
      "status": "active"
    }
  ],
  "os_specific": {},
  "dead_ends": [
    {
      "action": "Running 'git merge --abort' repeatedly hoping it works.",
      "why_fails": "The command fails immediately because the merge state doesn't exist; repeating it won't change anything.",
      "fail_rate": 1.0,
      "condition": "",
      "sources": []
    },
    {
      "action": "Deleting .git/MERGE_HEAD manually.",
      "why_fails": "The file doesn't exist if no merge was in progress; this action is unnecessary and may cause confusion.",
      "fail_rate": 0.8,
      "condition": "",
      "sources": []
    },
    {
      "action": "Running 'git reset --hard' to abort the imaginary merge.",
      "why_fails": "This is overly destructive; it discards all local changes when the real issue was just a misused command.",
      "fail_rate": 0.9,
      "condition": "",
      "sources": []
    }
  ],
  "workarounds": [
    {
      "action": "First check if a merge is in progress with 'git status'. If no merge, you don't need to abort. Simply continue working.",
      "success_rate": 0.95,
      "how": "First check if a merge is in progress with 'git status'. If no merge, you don't need to abort. Simply continue working.",
      "condition": "",
      "sources": []
    },
    {
      "action": "If you intended to undo a completed merge, use 'git reset --merge ORIG_HEAD' to revert to the state before the merge.",
      "success_rate": 0.85,
      "how": "If you intended to undo a completed merge, use 'git reset --merge ORIG_HEAD' to revert to the state before the merge.",
      "condition": "",
      "sources": []
    }
  ],
  "workarounds_zh": [
    "首先使用'git status'检查是否正在进行合并。如果没有合并，则无需中止，直接继续工作即可。",
    "如果打算撤销已完成的合并，使用'git reset --merge ORIG_HEAD'回退到合并前的状态。"
  ],
  "transition_graph": {
    "leads_to": [],
    "preceded_by": [],
    "frequently_confused_with": []
  },
  "official_doc_url": "https://git-scm.com/docs/git-merge#Documentation/git-merge.txt---abort",
  "official_doc_section": null,
  "error_code": null,
  "verification_tier": "ai_generated",
  "confidence": 0.85,
  "fix_success_rate": 0.95,
  "resolvable": "true",
  "first_seen": "2024-03-15",
  "last_confirmed": "2024-06-01",
  "last_updated": "2024-06-01",
  "evidence_count": 1,
  "tags": [],
  "locale": "en",
  "aliases": []
}