Git version: 2.14.2.2
Whenever I run git diff in the repository, the answer is No tags file . I tried to run the command on several repositories, on several consoles (Cmd, PowerShell, MINGW64, Visual Studio Command Prompt), and they all have the same answer.

Oddly, the git log command also fails. However, many other commands work, for example, git status , git pull , etc. It seems to be only log and diff .

I completely uninstalled Git and reinstalled. Rebooted my system. I tried to refer directly to git.exe (which gives exactly the same answer). Nothing works, and I have not seen this error anywhere. I compared my custom configs to the settings of my colleague, and they are identical.
Some of the command is executed properly, because if I put two commit hashes and I intentionally break one, the answer I get is the following:

It seems like another program might capture the git diff . I believe in this because I'm not sure that โNo tag filesโ is even a possible Git answer. Not sure what else will be.
To make things even more confusing - my ultimate goal is to run git diff in the msbuild context, and it is RUNNING CORRECTLY. Now I can be happy with this, but I need to change the diff command a bit, and each time the complete build is inefficient and not easy to fix. Inside the build script, there is a task that runs the Exec command, and it has no problems running diff . I can also do the Diff Against Current in SourceTree, which, as far as I know, runs git diff behind the scenes.
Any help would be greatly appreciated.
:: Editing ::
Various teams:
git diff HEAD~1 HEAD git diff master~1 master git diff <commit-hash-1> <commit-hash-2> git log HEAD~1..HEAD git log master~1..master git log <commit-hash-1>..<commit-hash-2>
Output:
Each of the above commands returns the same No tags file response in all my repositories.
Cat head:
cd .git cat HEAD ls -R refs
Output:

New repo:
mkdir testrepo cd testrepo git init echo "file1" > file1.txt git add . git commit -m "initial commit of file1.txt" echo "Hi there!" > file2.txt git add . git commit -m "added file2.txt" git log git diff HEAD~1 HEAD
Output:

Git config -e:

Git config --global -e:

:: Editing 2 ::
I removed all my tools for managing various / source files (SourceTree, Git, SVN, WinMerge, KDiff). The portable version of Git is installed. Opened CMD for the repo, placed the full path to the portable device Git.exe and still returned No tags file answer.
I also looked at all my path variables for: Git, vim, ming, mintty and everything else that seemed suspicious, but could not find.
I rebooted after completing all the steps, but the problem remains.
:: Editing 3 ::
I have another user on my laptop, switched to this user, and git diff working correctly, so it is clear that my main user is facing a conflict. Will continue to look for problems in my User directory.