File: git-rebase.el.html

This package assists the user in editing the list of commits to be rewritten during an interactive rebase.

When the user initiates an interactive rebase, e.g., using "r e" in a Magit buffer or on the command line using "git rebase -i REV", Git invokes the $GIT_SEQUENCE_EDITOR (or if that is undefined
$GIT_EDITOR or even $EDITOR) letting the user rearrange, drop,
reword, edit, and squash commits.

This package provides the major-mode git-rebase-mode which makes doing so much more fun, by making the buffer more colorful and providing the following commands:

  C-c C-c Tell Git to make it happen.
  C-c C-k Tell Git that you changed your mind, i.e., abort.

  p Move point to previous line.
  n Move point to next line.

  M-p Move the commit at point up.
  M-n Move the commit at point down.

  d Drop the commit at point.
  c Keep the commit at point.
  r Change the message of the commit at point.
  e Edit the commit at point.
  s Squash the commit at point, into the one above.
  f Like "s" but don't also edit the commit message.
  b Break for editing at this point in the sequence.
  x Add a script to be run with the commit at point
           being checked out.
  k Un-/comment current line.
  z Add noop action at point.

  SPC Show the commit at point in another buffer.
  RET Show the commit at point in another buffer and
           select its window.
  C-/ Undo last change.

  Commands for --rebase-merges:
  l Associate label with current HEAD in sequence.
  MM Merge specified revisions into HEAD.
  Mt Toggle whether the merge will invoke an editor
           before committing.
  t Reset HEAD to the specified label.

You should probably also read the git-rebase manpage.

Defined variables (9)

git-rebase-auto-advanceWhether to move to next line after changing a line.
git-rebase-confirm-cancelWhether confirmation is required to cancel.
git-rebase-mode-abbrev-tableAbbrev table for ‘git-rebase-mode’.
git-rebase-mode-hookHook run after entering ‘git-rebase-mode’.
git-rebase-mode-mapKeymap for Git-Rebase mode.
git-rebase-mode-menuGit-Rebase mode menu.
git-rebase-mode-syntax-tableSyntax table for ‘git-rebase-mode’.
git-rebase-short-optionsAlist mapping single key of an action to the full name.
git-rebase-show-instructionsWhether to show usage instructions inside the rebase buffer.

Defined functions (45)

git-rebase--insert-descriptions(ALIST)
git-rebase--show-commit(&optional SCROLL)
git-rebase-action(&rest SLOTS)
git-rebase-action--eieio-childp(OBJ)
git-rebase-action-child-p(OBJ)
git-rebase-action-p(OBJ)
git-rebase-alter()
git-rebase-backward-line(&optional N)
git-rebase-break(&optional ARG)
git-rebase-cancel-confirm(FORCE)
git-rebase-current-line(&optional BATCH)
git-rebase-drop()
git-rebase-edit()
git-rebase-exec(ARG)
git-rebase-fixup()
git-rebase-highlight-region(START END WINDOW ROL)
git-rebase-insert(REV)
git-rebase-kill-line()
git-rebase-label(ARG)
git-rebase-match-comment-line(LIMIT)
git-rebase-merge(ARG)
git-rebase-merge-toggle-editmsg()
git-rebase-mode()
git-rebase-mode-font-lock-keywords()
git-rebase-mode-menu(ARG1)
git-rebase-mode-show-keybindings()
git-rebase-move-line-down(N)
git-rebase-move-line-up(N)
git-rebase-noop(&optional ARG)
git-rebase-pick()
git-rebase-region-bounds(&optional FALLBACK)
git-rebase-reset(ARG)
git-rebase-reword()
git-rebase-set-action(ACTION)
git-rebase-set-bare-action(ACTION ARG)
git-rebase-set-noncommit-action(ACTION VALUE-FN ARG)
git-rebase-show-commit()
git-rebase-show-or-scroll-down()
git-rebase-show-or-scroll-up()
git-rebase-squash()
git-rebase-squish()
git-rebase-unhighlight-region(ROL)
git-rebase-update-ref(ARG)
magit-imenu--rebase-extract-index-name-function()
magit-imenu--rebase-prev-index-position-function()

Defined faces (5)

git-rebase-actionFace for action keywords.
git-rebase-descriptionFace for commit descriptions.
git-rebase-hashFace for commit hashes.
git-rebase-killed-actionFace for commented commit action lines.
git-rebase-labelFace for labels in label, merge, and reset lines.