ツール/オプションダイアログを使用してgit統合を無効にできることは知っていますが、気づいたのは、この設定がセッション間で持続しないように見えることです。つまり、ソリューションを閉じて再度開くとすぐに、Git統合が再び有効になります。 Visual Studioのソリューションファイルシステムツリーに.gitフォルダーが表示されていると思います。
Gitプラグインが有効になっている場合に正しく動作しないさまざまなVisual Studio 2013プラグインがあり、コマンドラインでソース管理を管理することを好みます。ソリューションを開いて作業します。単に使用したり必要としたりしないため、完全にオフにします。これは可能ですか?
あなたが言ったように、ソース管理プラグインを無効にすることができます:
次に、Ade Millerが言うように:Visual Studioを再起動します。
Gitプラグが有効になっているため、Visual Studioの動作が非常に遅く、この手順に従ってgitプラグを「セッション間で永続的に」無効にすることができました。
それが役に立てば幸い。
NoGit拡張機能のインストールも許可されていないVisual Studio 2015でも同じ問題が発生しました。私は「起動時に最後の解決策を開く」オプションを使用しているので、これが問題に何らかの関係があるのではないかと考えました。
だから私は単にソリューションを閉じた「ツール-オプション-ソース管理」に進む前に、その後オフにして、VSを再起動し、-出来上がり、SCオフのままでした!他のソリューションでもそうでありますように。
私にとって、次のコマンドを使用してリポジトリを作成すると、問題が修正されます。
git init --separate-git-dir _git
.git
ディレクトリを作成しないため、実際のリポジトリディレクトリを指す.git
ファイルのみが作成されます。
gitdir: C:/tfs/ProjectName/Main/_git
Visual Studio(少なくともVS2015 Update 3まで、これは私が使用しているものです)は気づきません!
Git Extensions(私が使用している)がそれをサポートする問題を抱えていたため、これは環境変数のものよりもうまく機能しましたが、.git
フォルダーを完全に指す_git
ファイルを処理しました。
VS 2015でSCCがロードされるたびにgit IDEが再度有効になる理由の1つは、CodeLensです。ツール/オプション/テキストエディター/すべての言語/ CodeLens TFVSとGitに関連するさまざまなアクティビティのチェックボックスがあります。これらのgitチェックボックスをオンにすると、gitリポジトリで作業していると思われる場合にGitプラグインが自動的に有効になります。
NoGit Visual Studio extension はこの動作を処理します。
ボーナス:素晴らしい説明。
Visual Studio 2015の場合、再起動後にCodeLensがGit Source Controlプラグインを再度有効にしていることがわかりました。 CodeLensを無効にすると、これが修正されました。
(更新:この回答は、GIT_DIRおよびGIT_WORK_TREEのより深い理解に基づいた完全に機能するソリューションを提供するようになりました)
概要:Gitは柔軟性が高いため、.git
ディレクトリーを作業ディレクトリーの外部の場所に移動し、tfsからファイルをチェックアウトできます。これにより、Visual Studioが検出できるgitの痕跡がなくても、100%クリーンなtfsチェックアウトが可能になりますが、それでもgitリポジトリとして操作できます。重要なのは、git dir(gitリポジトリストレージ)と作業ツリー(チェックアウトされたソースコード)を分離することです。
ソースコードがc:\work\someproject\tfscode
でチェックアウトされており、既にそこでgit init
を実行しているとします。 visual studioはc:\work\someproject\tfscode\.git
ディレクトリを検出し、それが問題を引き起こします。
人生をより恵みあるものにするには、次のことを行います。
$ cd /cygdrive/c/work/someproject
$ mv tfscode/.git tfscode.git
$ echo export GIT_DIR=/cygdrive/c/work/someproject/tfscode.git >> env.sh
$ echo export GIT_WORK_TREE=/cygdrive/c/work/someproject/tfscode >> env.sh
$ source env.sh
$ cd tfscode
$ git status
...
$
これはビジュアルスタジオに関してはgitに保存されているものを完全に無視するため、完全に機能します。
Visual Studio 2015からMicrosoft GitProviderを削除します
リンク: http://researchaholic.com/2015/02/02/remove-the-Microsoft-gitprovider-from-visual-studio-2013/
これはVisual Studio 2013および2015で機能しました。VisualStudioを閉じて再度開いても持続します。
ソリューションを開く
[ツール]-> [オプション]-> [ソース管理]-> [プラグインをなしに設定]に移動します。
Visual Studioを閉じ、管理者権限で以下のコマンドを実行します。
move "C:\ Program Files(x86)\ Microsoft Visual Studio 14.0\Common7\IDE\CommonExtensions\Microsoft\TeamFoundation\Team Explorer\Microsoft.TeamFoundation.Git.Provider.dll" "C:\ Program Files (x86)\ Microsoft Visual Studio 14.0\Common7\IDE\CommonExtensions\Microsoft\TeamFoundation\Team Explorer\Microsoft.TeamFoundation.Git.Provider.dll.bak "
これらのレジストリキーをすべて削除して、組み込みのVisual Studio Gitプロバイダーを無効にすることができました。
7FE30A77-37F9-4CF2-83DD-96B207028E1B
11b8e6d7-c08b-4385-b321-321078cdd1f8
新しいNoGit拡張パッケージを使用します: https://github.com/markrendle/nogit/releases/download/1.0.5/NoGit.vsix
ダウンロードしてVisual Studioに追加します: https://superuser.com/questions/73675/how-do-i-install-a-vsix-file-in-visual-studio
簡単です。
すべてのVSソリューションを閉じる必要があります。起動して、Menu\tools\options\Source Control\Git-> Noneを設定し、プロンプトが表示されたらこのソリューションを閉じます。現在、他のソリューションを開くとき、オプションは「なし」のままです。
VS2015は、アイドル時にCPUの50%を消費していました。 Gitを無効にすることが解決策であることを学びました。残念ながら、Gitを無効にすると、自動的に再び有効になります。
私の場合、実際にはGitを使用したかったのですが、CPU使用率が50%ではありませんでした。
NoGitソリューションはVS2013でのみ利用可能であるため、代わりに以下をダウンロードできます。 Git Source Control Provider Gitを使用しない場合でも。 CPU使用率は、アイドル時の50%ではなく、2.2%になりました。
1週間は苦痛でしたが、VS2015でこのソース管理サービスをどのように開始したのかわかりませんでした。しかし、それを止める方法を知りました。 VS2019でgit/anyのソース管理を分離する手順は次のとおりです。
VS->ツール->オプション->ソース管理-> [現在のソース管理プラグイン]に移動します
システムで可能なすべてのソース管理と[なし]オプションを取得します。 [なし]を選択すると、すべて設定されます。 [なし]オプションを選択し、[OK]を押してVSを再起動すると、ソース管理は不要になり、修正されました。
私はこれに対する解決策を見つけるのに苦労し、何度も試みた後それを作ったので、正確ではありません。別のフォルダーでGitHubデスクトップを使用して別のローカルリポジトリを作成します。これを完了し、プロジェクトを読み込まずにVisual Studioを開くと、チームエクスプローラーに両方のリポジトリが表示されます。いくつかの操作を行う必要があるため、新しいリポジトリを選択します。新しいリポジトリは「アクティブな」リポジトリなので、この時点で古いリポジトリを「削除」できます。これを行った後、前のフォルダーから.hidden .git *ファイルを削除しました。これで、プロジェクトを開いても、古いリポジトリが再度作成されることはありません。お役に立てれば。
それはクレイジーですが、私のために働いたのはごみ箱を空にする(私のソリューションの不要な.gitフォルダーが含まれていた)でした。
まだ信じられない...
「C:\ Program Files(x86)\ Microsoft Visual Studio 14.0\Common7\IDE\CommonExtensions\Microsoft\TeamFoundation」の名前を変更します
VSはエラーを1回だけ表示し、正常に動作します。