From: Sitaram Chamarty Date: Mon, 30 Jul 2012 12:41:40 GMT Subject: Re: A new way to get a sha1? Message-ID: In-Reply-To: On Mon, Jul 30, 2012 at 5:41 PM, Thomas Badie 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.