 <p>The only progress I have made on this question is the discovery that on the workstation I was using, the SUBST command was used to create drive D. That is to say, C and D are really the same physical drive.</p> <p>SUBST does not seem to completely break Git though. I have the project on drive D and the git repo on a completely different directory on drive D and everything works.</p> <pre><code>username@host /d/ProjectName (branch) $ cat .git gitdir: d:\gitrepo\ProjectName.git </code></pre> <p>So the best answer I have is a workaround, where I advise: In Windows there may be an issue:</p> <pre><code>1. If the repo and working dir are on different drives 2. If (1) is true and you use SUBST </code></pre> <p>But whichever of those is the case, the work around is one or both of the following:</p> <pre><code>1. put everything on the same drive letter. It works even if that drive is a 'subst' drive. 2. Use the windows "d:\" notation in the .git file </code></pre>