Choose the exact scope
Open History, select a commit, and then choose one of three levels:- Files — select one or more files, Control-click, then choose Apply Selected Changes or Revert Selected Changes.
- Hunk — open a file diff and use the Changes menu for that hunk.
- Lines — select changed lines in one file, Control-click, then apply or revert only that selection.
Review before anything changes
Commit+ first prepares the patch and opens a review sheet. It shows the source commit, current target branch, scope, affected files, renames, permissions, and the exact diff that would be written. Nothing changes until you confirm Apply or Revert. After confirmation, the changes remain unstaged so you can inspect, edit, stage, or discard them through the normal File Status workflow.Handle overlapping edits
The selected commit may touch lines that have changed again on the current branch. Commit+ attempts a three-way merge for each selected file and marks files that need attention before any patch is applied. Open Resolve… to review the base, selected change, and current content. Resolve or skip every conflicting file, return to the patch review, and confirm only when the complete result is ready. If the branch, index, or selected files change after the review is prepared, Commit+ rejects the stale patch and asks you to prepare it again. A failed preflight preserves the working copy and does not leave.rej files or an in-progress Git operation.
Safety and current limits
- Merge commits are not supported as a selective source; choose a non-merge commit.
- Binary files, submodules, and symbolic-link changes are excluded.
- A selected patch must be UTF-8 text and no larger than 5 MB.
- Finish active merge, rebase, cherry-pick, or revert operations and resolve existing conflicts first.
- A line selection can come from only one file at a time.

