Skip to content

Feature Request: Show default git commands alongside neogit keybinds in interactive rebase template #1796

@austinliuigi

Description

@austinliuigi

I personally like to perform interactive rebase without keybinds, so I disable most of them. However, the interactive rebase template becomes unhelpful, since neogit only shows the keybinds you have configured. I would like to instead show the interactive rebase template that git uses by default.

Current behavior:

# Rebase d39d9dd..083cebf onto d39d9dd (6 commands)
#
# Commands:
#   u    undo last change
#   <cr> show the commit another buffer
#
# These lines can be re-ordered; they are executed from top to bottom.
#
# If you remove a line here THAT COMMIT WILL BE LOST.
#
# However, if you remove everything, the rebase will be aborted.

Desired behavior:

 # Rebase d39d9dd..083cebf onto d39d9dd (6 commands)
 #
-# Commands:
+# Keybinds:
 #   u    undo last change
 #   <cr> show the commit another buffer
 #
+# Commands:
+# p, pick <commit> = use commit
+# r, reword <commit> = use commit, but edit the commit message
+# e, edit <commit> = use commit, but stop for amending
+# s, squash <commit> = use commit, but meld into previous commit
+# f, fixup [-C | -c] <commit> = like "squash" but keep only the previous
+#                    commit's log message, unless -C is used, in which case
+#                    keep only this commit's message; -c is same as -C but
+#                    opens the editor
+# x, exec <command> = run command (the rest of the line) using shell
+# b, break = stop here (continue rebase later with 'git rebase --continue')
+# d, drop <commit> = remove commit
+# l, label <label> = label current HEAD with a name
+# t, reset <label> = reset HEAD to a label
+# m, merge [-C <commit> | -c <commit>] <label> [# <oneline>]
+#         create a merge commit using the original merge commit's
+#         message (or the oneline, if no original merge commit was
+#         specified); use -c <commit> to reword the commit message
+# u, update-ref <ref> = track a placeholder for the <ref> to be updated
+#                       to this position in the new commits. The <ref> is
+#                       updated at the end of the rebase
+#
 # These lines can be re-ordered; they are executed from top to bottom.
 #
 # If you remove a line here THAT COMMIT WILL BE LOST.
#
# However, if you remove everything, the rebase will be aborted.

Alternatives:

Right now I'm just doing interactive rebases from the command line, but Neogits UI for choosing the commit would be really nice to have.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions