jesseduffield / lazygit

simple terminal UI for git commands
MIT License
52.65k stars 1.84k forks source link

Allow move up/down by N commits #2643

Closed bartgol closed 1 year ago

bartgol commented 1 year ago

Is your feature request related to a problem? Please describe. Due to issues with GPG signing (see #30 ), I can't immediately amend an old commit, so I find myself sometimes having to create a new commit, move it down N times, then fixing it up to the previous. Furthermore, I sometimes want to rearrange the commit history in a long branch, which ended up addressing two issues; in that case, I try to reorg commits, so that issue 1 is addressed first, and issue 2 later (as much as that can be possible due to conflicts).

Describe the solution you'd like It'd be nice if there was the possibility to immediately move the commit down N lines. Perhaps ctrl+J/ctrl+K (notice upper case) could prompt for a number?

Describe alternatives you've considered I tried c and then p the commit below, but it does a simple cherry-pick on top of branch, which is a no-op since the commit is already there; creating a patch (open commit, select all file, get to target commit, apply patch) doesn't seem to work (Feature not available for users using GPG).

stefanhaller commented 1 year ago

My workaround for situations like this is to press e on a commit below the destination commit. Moving commits up/down in the rebase todo list is much faster than moving real commits.

bartgol commented 1 year ago

Ah, good point. I was doing the same thing outside lg. I think your workaround is good enough, so I'm going to close this.

Thanks.

SukkaW commented 3 months ago

Moving commits up/down in the rebase todo list is much faster than moving real commits.

How to move commits up/down in the todo in lazygit? Or should I have to use an editor to do so? Oh I found it:

image