Ich habe auch Probleme mit Git in Visual Studio, aber ich glaube, ich habe endlich eine funktionierende Lösung gefunden. Bisher habe ich den Trick angewendet, den Ordner .git in _git umzubenennen und eine Textdatei mit dem Namen .git hinzuzufügen, die die Zeile "gitdir: _git" enthält. Aber seit dem Upgrade auf VS2019 funktioniert das nicht mehr.
Ich habe viele verschiedene Lösungen ausprobiert, aber keine hat funktioniert, da ich Git für einige Projekte und nicht für andere benötige. Mein Problemprojekt ist die Verwendung des Team Foundation Servers meines Unternehmens für die Quellcodeverwaltung. Da ich jedoch Code durch fehlerhafte Zusammenführungen von TFS verloren habe, übertrage ich meine Änderungen an ein lokales Git-Repo, bevor ich TFS aktualisiere oder festschreibe.
D:\Projects\TFS\.git
Lokales Git-Repo, das VS nicht verwenden sollte.
D:\Projects\TFS\ProjectA\$tf
TFS-Dateien, die VS für ProjectA verwenden soll.
Egal wie ich es versuchte, ich konnte VS nicht dazu bringen, TFS für ProjectA zu verwenden, als es einen .git-Ordner in einem übergeordneten Ordner fand. Meine Lösung besteht darin, den Ordner .git in Folgendes zu verschieben:
D:\Projects\TFS-GIT\.git
und erstellen Sie eine Verzeichnisverbindung zum ProjectA-Ordner. Starten Sie eine Eingabeaufforderung mit erhöhten Rechten und führen Sie Folgendes aus:
mklink /J D:\Projects\TFS-GIT\ProjectA D:\Projects\TFS\ProjectA
Wenn Sie das D:\Projects\TFS\ProjectA\ProjectA.sln
in Visual Studio öffnen, wird kein .git-Ordner gefunden und es wird eine Verbindung zu TFS hergestellt, wie es sollte.
Wenn Sie git-Befehle von ausführen, D:\Projects\TFS-GIT
werden dieselben Dateien wie in Visual Studio verwendet, außer dass der Ordner .git ebenfalls verfügbar ist. TortoiseGit funktioniert auch in diesem Ordner einwandfrei.