List Recent git Commits from Command Line

By  on  

GitHub is an amazing service which brings the boring, sometimes difficult git command line tool to life.  Oftentimes instead of futzing with the command line I'll simply bring up GitHub and find what I need.  In the year 2016, however, I'm trying to break away from GUI crutches and learn more low level stuff.

One task I've been using GitHub for is a retrieving a list of recent commits to a repo -- especially useful at this type of year when I (and many others) were wasting away on vacation over the holidays.  I found a useful command for listing commits newest to oldest so on commandlinefu:

git log --oneline | nl -v0 | sed 's/^ \+/&HEAD~/'

That command will render a listing with the latest commits first and original commit last:

0	b0d9243 Merge pull request #119 from awalGarg/master
1	f0b7b87 Merge pull request #189 from delapuente/proxify-render-store
2	973476a Add proxy to images as well
3	986e9fe Merge pull request #188 from delapuente/proxify-render-store
4	7f7ae51 Adding proxy to allow mixed content

...

401	2813e25 Update README.md
402	1ec78c5 Create README.md
403	c2c95db Initial commit

Of course typing this each time would be a nightmare to remember so a custom command or alias would be in order!

Recent Features

  • By
    Conquering Impostor Syndrome

    Two years ago I documented my struggles with Imposter Syndrome and the response was immense.  I received messages of support and commiseration from new web developers, veteran engineers, and even persons of all experience levels in other professions.  I've even caught myself reading the post...

  • By
    How I Stopped WordPress Comment Spam

    I love almost every part of being a tech blogger:  learning, preaching, bantering, researching.  The one part about blogging that I absolutely loathe:  dealing with SPAM comments.  For the past two years, my blog has registered 8,000+ SPAM comments per day.  PER DAY.  Bloating my database...

Incredible Demos

  • By
    MooTools PulseFade Plugin

    I was recently driven to create a MooTools plugin that would take an element and fade it to a min from a max for a given number of times. Here's the result of my Moo-foolery. The MooTools JavaScript Options of the class include: min: (defaults to .5) the...

  • By
    Add Site Screenshots for External Links Using MooTools Tooltips

    Before you send your user to an unknown external website, why not provide them a screenshot of the site via a tooltip so they may preview the upcoming page? Here's how you can do just that using MooTools. The MooTools JavaScript The first step is to grab...

Discussion

  1. Vladimir

    …or can simply use command “tig”. =)

  2. slash3b
    git log - - oneline - number of commits
  3. Chris McCoy

    nice one ;)

    here are some more handy git commands i have put together

    https://gist.github.com/chrismccoy/8775224

    • Dharm

      Hello Chris, I am a newbie to Git and to it’s commands. Very helpful commands. I have one requirement where I need the fetch the list of commit ids from the RELEASE branch created by a development branch. Assume is that the development branch has been checked in multiple times to the RELEASE based on the multiple requirements.

  4. We were once asked to note down what we did the whole day long.
    Defining an alias like:

    git config --global alias.today ‘shortlog --since=”1am” --no-merges’
    

    and then invoking

    git today
    

    eased that task :-)
    (It lists all commits since a.m. sorted by author and excludes possible merge requests thereby)

  5. Even more quickly and easily:

    gem install git-smart
    git smart-log
    
  6. I have an alias that lets me quickly look at the last 20 commits; use it all the time. In my .zshrc:

    gso='git log --oneline -20 --decorate'
    

Wrap your code in <pre class="{language}"></pre> tags, link to a GitHub gist, JSFiddle fiddle, or CodePen pen to embed!