Files
holocron/plugins/git/skills/git-branches/references/merging.md
Defame1297 0f2bb242ad chore(plugins): sync generated content mirrors
Regenerates `plugins/*/skills`, `plugins/*/agents`, both per-plugin `plugin.json` manifests and the
two marketplace mirrors from `.apm/` per ADR-0017, via `scripts/sync-plugin-content.sh --all`.

The manifests matter beyond tidiness here: `plugin.json` carries the plugin version and wins over
the marketplace entry at install time (calculatePluginVersion precedence). Until this ran, the patch
bumps in the preceding commit were inert for anyone installing these plugins.

ADR: 0017
Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01EeH8SCbcrCAQrtymkNuhKP
2026-09-09 05:15:53 +00:00

1.4 KiB

source_keys
source_keys
context7-git-htmldocs
atlassian-gitflow-tutorial

Merging one branch into another

Scope is fast-forward and merge-commit mechanics plus conflict resolution. Rebase and cherry-pick belong to git-commits; revert to git-history.

  • Fast-forward — rtk git merge <branch> advances the pointer with no merge commit when the target has not diverged.
  • True merge — rtk git merge --no-ff <branch> forces a merge commit even when a fast-forward is possible. Gitflow requires it on every supporting-branch merge.
  • Squash merge — rtk git merge --squash <branch> stages the combined diff without committing. Follow it with a rtk git commit.
  • Octopus merge — rtk git merge branch-a branch-b branch-c merges more than two branches at once, but fails outright on any conflict. Use sequential two-way merges when conflicts are likely.

Conflict resolution

When Git cannot auto-merge it writes conflict markers and stops mid-merge. Run rtk git status to list the conflicted files, edit each to resolve its markers, then rtk git add <file> and rtk git merge --continue.

  • rtk git merge --abort restores the pre-merge state.
  • git mergetool opens the configured merge tool — bare, not rtk: it hands control to an interactive child process, and a token filter has nothing to offer there (ADR-0023).
  • rtk git diff --diff-filter=U shows only the still-conflicted files.