In HEAD
(the latest commit), I have a file named foo
. In my current working tree, I renamed it to bar
, and also edited it.
I want to git diff
foo
in HEAD
, and bar
in my current working tree.
I believe using --no-index
is what you're looking for:
git diff [<options>] --no-index [--] <path> <path>
as mentioned in the git manual:
This form is to compare the given two paths on the filesystem. You can omit the
--no-index
option when running the command in a working tree controlled by Git and at least one of the paths points outside the working tree, or when running the command outside a working tree controlled by Git.
If you are using tortoise git you can right-click on a file and git a diff by: Right-clicking on the first file and through the tortoisegit submenu select "Diff later" Then on the second file you can also right-click on this, go to the tortoisegit submenu and then select "Diff with yourfilenamehere.txt"
git diff --no-index --word-diff old_file.txt new_file.txt
(--word-diff highlights changes by word, not just line, which is super helpful for long text). - Pat