Git: Show content of file as it will look like after committing
Update: the answer from grawity has a much neater solution
This recipe is from jleedev's answer to another question:
git cat-file blob $(git ls-files -s file | awk '{print $2}')
You might want to create a git alias for that if you're going to use it often.
Use the :
prefix to access objects in the current index (staged but not yet commited).
git show :file
See gitrevisions (which uses the term 'stage 0' for the "normal" index contents):
:[<n>:]<path>, e.g. :0:README, :README
A colon, optionally followed by a stage number (0 to 3) and a colon, followed by a path, names a blob object in the index at the given path. A missing stage number (and the colon that follows it) names a stage 0 entry. During a merge, stage 1 is the common ancestor, stage 2 is the target branch’s version (typically the current branch), and stage 3 is the version from the branch which is being merged.