Reputation: 4128
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?
Upvotes: 6
Views: 4164
Reputation: 533
This command show whole file:
git show HEAD:./<path_to_file>
And it works also for any revision:
git show <rev-id>:./<path_to_file>
Upvotes: 2
Reputation: 37167
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
Upvotes: 12