Git show whole file changes

diff, git, git-diff, git-show

Solution

This is kind of a hack, but `git show` (like `git diff`) has the `-U` option that lets you specify how many lines of context to show. If you use a number that's bigger than the region between the difference and the start or end of the file, then it'll show the whole file. So if you use a really big number, it'll work the way you want on (hopefully) any file you try it on:

git show -U99999

Problem

Is there a way to get the `git show` command to show the whole contents of a file when viewing a commit? For example: if it currently show something like ``` foo.cpp +++ int main() { +++ std::cout << "HELLO" << std::endl; +++ } ``` I would want the output to say: ``` foo.cpp #include <stdio> //assuming this was from an earlier commit +++ int main() { +++ std::cout << "HELLO" << std::endl; +++ } ``` Is there a simple way to do this?

Original source