{
    "content": [
        {
            "type": "text",
            "text": "# git-merge-tree (man)\n\n## NAME\n\ngit-merge-tree - Show three-way merge without touching index\n\n## SYNOPSIS\n\ngit merge-tree <base-tree> <branch1> <branch2>\n\n## DESCRIPTION\n\nReads three tree-ish, and output trivial merge results and conflicting stages to the standard\noutput. This is similar to what three-way git read-tree -m does, but instead of storing the\nresults in the index, the command outputs the entries to the standard output.\n\n## TLDR\n\n> Merge branches without changing files.\n\n- Show the result of a merge between two branches:\n  `git merge-tree {{branch1}} {{branch2}}`\n- Perform a merge and write the resulting tree:\n  `git merge-tree --write-tree {{branch1}} {{branch2}}`\n\n*Source: tldr-pages*\n\n## Sections\n\n- **NAME**\n- **SYNOPSIS**\n- **DESCRIPTION**\n- **GIT**\n\nUse structuredContent.sections for detailed options, examples, and full documentation.\n"
        }
    ],
    "structuredContent": {
        "command": "git-merge-tree",
        "section": "",
        "mode": "man",
        "summary": "git-merge-tree - Show three-way merge without touching index",
        "synopsis": "git merge-tree <base-tree> <branch1> <branch2>",
        "tldr_summary": "Merge branches without changing files.",
        "tldr_examples": [
            {
                "description": "Show the result of a merge between two branches",
                "command": "git merge-tree {{branch1}} {{branch2}}"
            },
            {
                "description": "Perform a merge and write the resulting tree",
                "command": "git merge-tree --write-tree {{branch1}} {{branch2}}"
            }
        ],
        "tldr_source": "official",
        "flags": [],
        "examples": [],
        "see_also": [],
        "section_outline": [
            {
                "name": "NAME",
                "lines": 2,
                "subsections": []
            },
            {
                "name": "SYNOPSIS",
                "lines": 3,
                "subsections": []
            },
            {
                "name": "DESCRIPTION",
                "lines": 8,
                "subsections": []
            },
            {
                "name": "GIT",
                "lines": 5,
                "subsections": []
            }
        ],
        "sections": {
            "NAME": {
                "content": "git-merge-tree - Show three-way merge without touching index\n",
                "subsections": []
            },
            "SYNOPSIS": {
                "content": "git merge-tree <base-tree> <branch1> <branch2>\n\n",
                "subsections": []
            },
            "DESCRIPTION": {
                "content": "Reads three tree-ish, and output trivial merge results and conflicting stages to the standard\noutput. This is similar to what three-way git read-tree -m does, but instead of storing the\nresults in the index, the command outputs the entries to the standard output.\n\nThis is meant to be used by higher level scripts to compute merge results outside of the\nindex, and stuff the results back into the index. For this reason, the output from the\ncommand omits entries that match the <branch1> tree.\n",
                "subsections": []
            },
            "GIT": {
                "content": "Part of the git(1) suite\n\n\n\nGit 2.34.1                                   02/26/2026                            GIT-MERGE-TREE(1)",
                "subsections": []
            }
        }
    }
}