Re: A new way to get a sha1?
- From
Sitaram Chamarty <sitaramc@gmail.com>
- Date
- Jul 30, 2012, 12:41 UTC
- Message-ID
- <CAMK1S_hhYi=dLrPy2j28=QMi-UDg7ZGXU=t9WqykVmx3XRyswQ@mail.gmail.com>
- In-Reply-To
- <jv5tln$96e$1@dough.gmane.org>
On Mon, Jul 30, 2012 at 5:41 PM, Thomas Badie <thomas.badie@gmail.com> wrote:
Show 15 quoted lines
> 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.