Master: git show
In this video we'll learn some of the additional options for git show
.
We can limit the output of git show
to simply list the files that changed as part of the commit with --name-status
.
This option can also be used with git log
.
We can see --name-status
lists each file changed as well as how it was changed.
In this case, it shows File 2 was M for modified. There's also A for added, D for deleted, and a few others which are less common.
At times, you will want to view a file at a previous point in history or on another branch.
We can use git show
to do this by passing a reference to a commit followed by the filename.
For example, to output the contents of File 2 two commits ago, I would run:
git show HEAD~2:file-2.txt
The reference doesn't have to be relative. It could be the commit SHA, or a branch name as we'll see in Part 3.
Now, when I run this command I receive an error. If we read the message it says File 2 was not in HEAD~2.
This means while File 2 existed, it wasn't tracked by the Git repository at this point in time.
If we run git log --oneline
we see two commits ago was my Initial commit. But I didn't add File 2 until the next commit.
So this error is expected and is a good example of both slowing down to read the output Git commands as well as using git show
and git log
together.
Part of mastering Git will be knowing which command to use. Often, there are multiple ways to do the same thing.
So use git show
to view information about a single commit. For everything else, use git log
.