Mam również problemy z Git w Visual Studio, ale myślę, że w końcu znalazłem działające rozwiązanie. Do tej pory korzystałem ze sztuczki polegającej na zmianie nazwy folderu .git na _git i dodaniu pliku tekstowego o nazwie .git zawierającego wiersz „gitdir: _git”. Ale od czasu aktualizacji do VS2019 to już nie działa.
Wypróbowałem wiele różnych rozwiązań, ale żadne nie działało, ponieważ potrzebuję Gita do niektórych projektów, a do innych nie. Mój projekt, w którym wystąpił problem, używa serwera Team Foundation Server mojej firmy do kontroli źródła. Ale ponieważ zgubiłem kod w złych scaleniach wykonanych przez TFS, zatwierdzam zmiany w lokalnym repozytorium Git przed aktualizacją lub zatwierdzeniem do TFS.
D:\Projects\TFS\.git
Lokalne repozytorium git, którego VS nie powinien używać.
D:\Projects\TFS\ProjectA\$tf
Pliki TFS, których program VS powinien używać dla ProjectA.
Bez względu na to, jak próbowałem, nie mogłem zmusić VS do używania TFS dla ProjectA, gdy znalazł folder .git w folderze nadrzędnym. Moim rozwiązaniem jest przeniesienie folderu .git do:
D:\Projects\TFS-GIT\.git
i utwórz przyłączenie katalogu do folderu ProjectA. Uruchom wiersz polecenia z podwyższonym poziomem uprawnień i uruchom:
mklink /J D:\Projects\TFS-GIT\ProjectA D:\Projects\TFS\ProjectA
Otwierając D:\Projects\TFS\ProjectA\ProjectA.sln
w programie Visual Studio, nie znajdzie żadnego folderu .git i połączy się z TFS tak, jak powinien.
Uruchamianie poleceń git z programu D:\Projects\TFS-GIT
spowoduje użycie tych samych plików co program Visual Studio, z tą różnicą, że dostępny jest również folder .git. TortoiseGit również działa dobrze z tego folderu.