Visual StudioのGitにも問題がありますが、最終的には有効な解決策を見つけたと思います。これまでは、.gitフォルダーの名前を_gitに変更し、.gitという名前のテキストファイルを追加して、「gitdir:_git」という行を含めました。しかし、VS2019へのアップグレード以降は機能しなくなりました。
さまざまな解決策を試しましたが、Gitが必要なプロジェクトもあれば、そうでないプロジェクトもあるため、どれもうまくいきませんでした。私の問題のプロジェクトは、会社のTeam Foundation Serverをソース管理に使用しています。しかし、TFSによって行われた不適切なマージでコードを失ったため、TFSに更新またはコミットする前に、変更をローカルGitリポジトリにコミットしています。
D:\Projects\TFS\.git
VSが使用してはならないローカルgitリポジトリ。
D:\Projects\TFS\ProjectA\$tf
VSがProjectAに使用するTFSファイル。
どのように試しても、親フォルダー内に.gitフォルダーが見つかったときに、VSでProjectAにTFSを使用できませんでした。私の解決策は.gitフォルダを次の場所に移動することです:
D:\Projects\TFS-GIT\.git
ProjectAフォルダーへのディレクトリジャンクションを作成します。管理者特権のコマンドプロンプトを起動して実行します。
mklink /J D:\Projects\TFS-GIT\ProjectA D:\Projects\TFS\ProjectA
D:\Projects\TFS\ProjectA\ProjectA.sln
Visual Studioでを開くと、.gitフォルダーが見つからず、TFSに接続されます。
からgitコマンドを実行するD:\Projects\TFS-GIT
と、.gitフォルダーも使用できることを除いて、Visual Studioと同じファイルが使用されます。TortoiseGitもこのフォルダーから正常に動作します。