Thread (7 messages) flat view 7 messages, 6 authors, 2021-09-30

Re: Feature Request: `git commit --amend-to`

From: Glen Choo <hidden>
Date: 2021-09-28 16:52:30

Carlo Arenas [off-list ref] writes:
  git commit --fixup reword:$SHA && EDITOR=true git rebase
--interactive --autosquash "$SHA^"

granted it is not 1 command, but usually I find it useful to do
several of those and then one single
rebase at the end.
This is fairly similar to what I use, though I use this through the
Magit Emacs plugin.

My concern with "--amend-to" is that the semantics aren't as simple as
--amend.

With --amend, you know you're working on the branch tip, so
it's relatively simple to discard the last commit and create a new one.

With something like --amend-to, you aren't just modifying a single
commit, you are also introducing a potential merge conflict with every
commit after that. You would have to provide some kind of facility for
users to fix the merge conflicts. A command like git rebase --autosquash
does a good job at communicating to users that they are actually doing a
rebase and they need to be prepared to fix problems through a rebase UX.
However, git commit --amend-to communicates none of that. A user who
takes a cursory glance at git commit --amend-to has no idea that they
are potentially comitting to a rebase.

I personally think the current UI makes sense given how Git works. I
also wish that it were easier to do --amend-to, but I think the problem
has more to do with how Git manages merges and conflicts and less to do
with having shortcuts in the CLI.
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help