title: See Nth previous version of file
body: <p>I would like to see an older version of a file, but this:</p>
  
  <pre><code>git show HEAD~1:main.c
  </code></pre>
  
  <p>gives me the previous commit. That file has not changed since the previous commit, so I see the same content. In order to find an older version of that file, I need to start increasing manually the revision spec until I find an actual difference. This is frustrating.</p>
  
  <p>In this particular case, I do not care about commits: I just want to see previous versions of this specific file. How can I give a revision specification of  the type "the Nth oldest version"? The revision specifications <a href="http://git-scm.com/book/en/v2/Git-Tools-Revision-Selection" rel="nofollow">I know</a> are always commit-related, not file-version related. </p>
  
  <p>The closest I have got is:</p>
  
  <pre><code>git log --follow --pretty=oneline -- annotated-bower.json
  </code></pre>
  
  <p>Which gives me a list of the commits where this file has been changed. Now that I see this list, how can I tell <code>git show</code> something like:</p>
  
  <pre><code>git show OLDER~3:main.c
  </code></pre>
  
  <p>Without having to manually copy-paste the commit spec:</p>
  
  <pre><code>git show b27a57c6732200d8ef8b5b8c87d07fe67f37e9db:main.c
  </code></pre>
  
  <p>I can of course implement this myself:</p>
  
  <pre><code>git-previous.sh main.c 3
  </code></pre>
  
  <p>Parsing the output of <code>git log --follow --pretty=oneline</code> to get the commit hash and call then <code>git show</code> with that, but I would like to avoid reinventing the wheel. Besides, this seems like a so useful feature, that this is <em>surely</em> part of stock <code>git</code>, and I have just overseen it, right?</p>