Re: Effectively navigating branch history
- From
Junio C Hamano <gitster@pobox.com>
- Date
- May 31, 2011, 18:40 UTC
- Message-ID
- <7vtycaiuh9.fsf@alter.siamese.dyndns.org>
- In-Reply-To
- <18203023.45200.1306866084905.JavaMail.root@mail.hq.genarts.com>
Stephen Bash <bash@genarts.com> writes:
Show 12 quoted lines
>> Yeah, I think it was 1f9a980636 which was a merge between fb674d7 and >> 73546c0. I just compared the output between these two: >> >> $ git diff fb674d7...73546c0 -- config.c ;# what the topic did >> $ git diff fb674d7 1f9a980 -- config.c ;# what was merged > > I often find myself wanting to do the "what the topic did" operation but > once the branch is merged and deleted, I have difficulty finding useful > SHAs to diff. > > So in an attempt to educate myself, I tried to track down fb674d7 and > 1f9a980 (and failed miserably).
I just did
$ git log --first-parent master -- config.c
which was sufficient for my workflow as most of the commits on master are merges from topics and I can see what each topic did from the merge commit summary message.
If I were doing this on a codebase I am not very familiar with, I probably I would have first narrowed things down a bit by
$ git grep -n -e NOGLOBAL -- config.c ;# to learn the line number 830
$ git blame -L825,835 -- config.cto learn where the offending NOGLOBAL came from (it is from ab88c363) so that I can say
$ git log -m -p -GNOGLOBAL ab88c363.. -- config.c
to find that 1f9a980 reintroduced it by mistake.