GIT-REINTEGRATE(1)
π GIT-REINTEGRATE(1) π
okay bestie, gather round, because this is the git-reintegrate page from the Git manual and it is genuinely one of the most useful little helpers ever. it's a tool for managing integration branches in Git, and yes we're gonna go through every single flag together, no skipping, periodt.
β¨ SYNOPSIS β¨
git reintegrate --create <name> [<base>]
git-reintegrate --generate <name> [<base>]
git-reintegrate --add=<name>
git-reintegrate (--edit | --rebuild | --apply | --cat | --status) [<name>]
git reintegrate (--continue | --abort)
git-reintegrate --list
πΈ DESCRIPTION πΈ
so this tool is a little helper that makes managing integration branches in Git actually easy. how does it do it? by letting you specify a list of merges to be applied on top of a base branch. and the cute part: each one of those merges can have a description attached, and that description becomes the merge commit message. iconic behaviour honestly.
this instruction sheet can be autogenerated, and you can also modify it in all sorts of ways from the command line, or just manually edit it like a normal person. your choice, no judgement π«Ά
and then finally β the payoff β the integration branch can be rebuilt, and any previous conflict resolutions get reused for free thanks to git rerere. chef's kiss. π
π OPTIONS π
--createβ makes you a brand new integration branch. if you don't specify abase,masteris assumed. default behaviour, we love a default.--generateβ generates the instruction sheet based on an existing integration branch. it parses the messages of each merge commit to build up the instructions. those messages should be in the standard formMerge branch 'name'(or remote branch, if that's your situation). and again, if nobaseis specified,masteris assumed.--[no-]rebuildβ rebuilds the integration branch. that's it. that's the whole thing.--editβ opens up the instruction sheet for editing.--catβ prints the instruction sheet. cat behaviour, truly.--statusβ prints the status of the integration branch.--add=<branch>β appends a linemerge <branch>to the instruction list, which means that branch gets included in the integration branch the next time it's rebuilt. you can specify this one multiple times to add multiple branches, so stack 'em up bestie.--continueβ restarts the rebuild process after you've resolved a merge conflict. the "okay I fixed it, we move" button.--abortβ aborts the rebuild operation entirely. no notes, we're out.--[no-]autocontinueβ continues automatically if therereremechanism manages to resolve all the conflicts during a merge. the lazy-girl dream, fr fr.--listβ lists all the current integration branches.--deleteβ deletes an integration branch. lowkey important detail: it does not delete the branch itself, only the integration information. so the branch survives, the bookkeeping doesn't. π--applyβ applies the instruction sheet of the integration branch on top of the current branch. and if a branch you're supposed to merge is already completely merged into the current branch, it gets skipped. efficient queen.
β οΈ real talk: if--continueor--abortare specified, then no other options may be given. that's the rule. don't fight it.
π CONFIGURATION π
integration.autocontinueβ sets the default for the--autocontinueoption.integration.autorebuildβ automatically rebuilds the integration branch after creating or editing it, if--no-rebuildis not specified.
π¦ FORMAT OF INSTRUCTIONS π¦
okay so the instruction sheet is made up of a series of instructions that all begin in column zero. each of those instructions may then be followed by indented comments. here's everything that's supported:
base <ref>β resets the state of the integration branch to the specified revision. this should always be the first instruction in the instruction sheet, and it should appear only at the top of the instruction sheet. main character energy, first in line, no exceptions.merge <ref> [<options>]β merges the specified ref into the integration branch. any comments that follow the instruction get appended to the merge commit's commit message. and if any options are given after the ref (on the same line, bestie, same line), those get passed straight togit merge. super handy if you need to specify an alternative merge strategy for a branch.fixup <ref>β picks up an existing commit to be applied on top of a merge as a fixup.commitβ adds an empty commit with the specified message, mostly so you can use it as a comment.pauseβ pauses the rebuild process so you can go do certain actions manually. for example: fixing a wrong conflict resolution. we all make mistakes, it's fine, this is your moment.. <args...>β ignores this command and its description. this one's for removing a branch from the integration branch without needing to delete it and its description from the instruction sheet. sneaky, clever, we stan.
β Example β
base master
merge my-experimental-feature
I think this is a good idea, but want to dogfood it before I
decide whether to submit it upstream.
merge my-site-specific-changes
Some changes to suit my environment. DO NOT SUBMIT THESE.
and that's the whole page, bestie!! every flag, every config key, every instruction, all accounted for. no cap. π§
this was GIT-REINTEGRATE(1) from the Git manual, dated 01/17/2021. stay integrated, stay slaying. ππβ¨
π¦ where this page comes from
- debian bookworm: git-reintegrate 0.4-2.1 Β· GPL-2.0-only
- ubuntu jammy: git-reintegrate 0.4-2.1 Β· GPL-2.0-only
- ubuntu noble: git-reintegrate 0.4-2.1 Β· GPL-2.0-only
- ubuntu resolute: git-reintegrate 0.4-2.1 Β· GPL-2.0-only
- ubuntu stonking: git-reintegrate 0.4-2.1 Β· GPL-2.0-only
- π girlified by deepseek-ai/DeepSeek-V4.1-Flash on : a language model's rewrite of the original, under its terms