Re: A new way to get a sha1?
From: Sitaram Chamarty <hidden>
Date: 2016-06-15 22:54:22
On Mon, Jul 30, 2012 at 5:41 PM, Thomas Badie [off-list ref] wrote:
Hi all, When I should fixup or squash a commit, I nearly never remember how to get the sha1 of the commit I want to fixup. Because sometimes HEAD~n is not enough, I make `git log`, copy the sha1 of the right commit and paste it in my git fixup command. So I wrote a perl script to avoid the usage of the mouse. And after discussion with some of my friends, this can be generalized as a generic command line interface tool to get a sha1. The idea is to have a perl module which run through the log history and print 10 shortlog associated with a number from 0 to 9, and a message below "Select commit [| 0, 9 |] or next row ?" or this kind of message with several options.
In general, I prefer nothing to be *interactive*, so I would vote an
emphatic no.
Also, try "tig" and see if you can customise it. For example, in
order to create a new commit that is meant to be a fixup of some other
commit, I 'git add' what is needed (either command line or tig again)
then hit "m" to the main window, scroll down to the commit concerned,
and hit "=".
That "=" comes from this line in ~/.tigrc:
bind main = !git commit --fixup=%(commit)
Please use such methods to keep interactivity where it belongs, is my opinion.