Visual Studio 2013でGit統合を完全に無効にするにはどうすればよいですか?


113

Tools / Optionsダイアログを使用してgit統合を無効にできることを知っていますが、この設定がセッション間で持続していないようです。つまり、ソリューションを閉じて再度開くとすぐに、Git統合が再び有効になります。Visual Studioがソリューションファイルシステムツリーに.gitフォルダーを表示していると思います。

Gitプラグインが有効になっている場合に正しく動作しないさまざまなVisual Studio 2013プラグインがあり、コマンドラインでソース管理を管理することを好み、Git統合により顕著な遅延が発生するいくつかの非常に大規模なプロジェクトで作業していますソリューションを開き、使用する際に。使用しない、または必要としないため、完全にオフにしたいのですが。これは可能ですか?


1
おそらく便利:修正するには、拡張機能を無効にしてから、ソース管理の変更コマンドの「バインド」機能を使用してソース管理を変更しました-詳細はthereprogram.com/2013/04/18/visual-studio-tools-for-を
Tom Kerr

1
これがトリックです。VisualStudio 2013では、Git統合は拡張機能として提供されていません。組み込まれています。無効にする拡張機能がないため、拡張機能を無効にすることはできません。ブー!
ブライアンポーター、

多分それを自動化できますか?
klumsy 2014年

できますが、自動化を実行するにはどのトリガーを使用しますか?ロード時に起動する拡張機能?OOB機能を無効にする拡張機能を作成するのは奇妙に感じられます。
ブライアンポーター

1
私のチームにもこの問題がありました。私たちが使ったトリックは、ソリューションをロードし、git統合を無効にしてから、VSを再起動することでした。また、SP 1をインストールしてみてください
アデミラー

回答:


90

あなたが言ったように、ソース管理プラグインを無効にすることができます:

  • ツール/オプション
  • 「すべての設定を表示」をチェックします
  • ソース管理/プラグインの選択
  • 「現在のソース管理プラグイン」を「なし」に設定します

次に、Ade Millerが言うように:Visual Studioを再起動します。

gitプラグインが有効になっているため、Visual Studioの動作が非常に遅くなり、この手順に従って「セッション全体で永続的に」無効にできました。

それが役に立てば幸い。


42
VSは、ソリューションを再び開くときにGITを再び有効にするだけです。また、下記のNoGit拡張機能は機能しません。うーん。
マッケニル2015

私は同じ問題を抱えています。VSは、VSの再起動時にGIT統合を再度有効にするだけです。上記のように何十回も無効にしたことに注意してください。(それは戻って来ます)
Venryx

1
それも私にとってそれを再び可能にします。明らかに誰かが起動時にそれを無効にする拡張機能を書いた。クレイジー!stackoverflow.com/questions/22459959/…。このリンクの別のハックは、プロバイダーdllの権限をEveryoneから削除することです:C:\ Program Files(x86)\ Microsoft Visual Studio 12.0 \ Common7 \ IDE \ CommonExtensions \ Microsoft \ TeamFoundation \ Team Explorer \ Microsoft.TeamFoundation.Git.Provider。 dll
Sonic Soul

3
チームエクスプローラーウィンドウを開くと、再び有効になりました。そのため、そのウィンドウを閉じて、オプションを[なし]に戻しました。うまくいけば、VSはこの問題について再び「助け」ようとはしないでしょう。
ショーン

ソリューションが読み込まれていない状態で、ソース管理プラグインの設定をGitからNoneに戻しました。次に、Visual Studioを再起動し(まだソリューションなし)、設定を確認したところ、現在はVisual Studio Team Foundation Serverになっています。私はそれを再びNoneに戻し、VSを再起動しましたが、今回はスタックしているようです。
エイドリアン・マッカーシー

52

Visual Studio 2015でも同じ問題がありましたが、NoGit拡張機能をインストールすることさえできませんでした。「起動時に最後のソリューションを開く」オプションを使用しているので、おそらくこれが問題に関係しているのではないかと思いました。

私は単にだから私のソリューションを閉じて、「ソース管理- -オプションツール」に行く前に、次に VSと再起動、それをオフに-出来上がりを、SCはオフに滞在しました!他のソリューションでもそうであるといいのですが。


2
これの千倍。レジストリハックやカスタム拡張機能はありません。これは機能します。よろしくお願いします!
driis

1
これを他の1つと組み合わせる必要がありました/ResetSettings "C:\Users\myuserid\Documents\Visual Studio 2015\Settings\CurrentSettings.vssettings"。次のコマンドラインフラグを含めるようにVisualStudioスタートメニューのショートカットを更新しました:。コマンドラインリファレンスによると、この設定は「IDEのデフォルト設定を復元し、オプションで指定されたVSSettingsファイルにリセットします。」これにより、希望する設定が常に適用されるようになります。
mcw

4
ありがとう!これでうまくいきました。別の注意-これを行う前に、右側の(ソリューションエクスプローラーの横にある)チームビューアタブを必ず閉じてください。そうしないと、クリックすると自動的に再び有効になります。
ForOhFor

2
VSがクラッシュした後、残りのdevenv.exeプロセスを強制終了して、少なくとも1つのCPUが固定されたままになっていることを確認してください。しかし、それができてレジストリハックが必要ないときはとても幸せです!
Atters 2016年

19

私の場合、次のコマンドでリポジトリを作成すると問題が解決します。

git init --separate-git-dir _git

それは.git ディレクトリを作成しないので、実際のリポジトリディレクトリを指す.git ファイルのみ、例えば:

gitdir: C:/tfs/ProjectName/Main/_git

Visual Studio(少なくとも私が使用しているVS2015 Update 3まで)はそれを認識しません!

Git Extensions(私が使用しているもの)がそれをサポートするのに問題があったので、これは環境変数のものよりうまく機能.gitしましたが、_gitフォルダーを指すファイルを完全に処理しました。


同意します、私はどちらかというと環境変数のものを台無しにしたくありません。これはうまくいきます。
kaveman 2014

上記に若干のタイプミスがあることを付け加えますが、オプションは--separate-git-dir
kaveman

2
素晴らしい回避策!神VS2013は、この.git「リポジトリへのファイルシステムに依存しないGitシンボリックリンク」の読み取りを実装していませんでした。そうでなければ、同じ問題が見つかりました。
KurzedMetal 2015

2
これは確かに、回答のチェーン全体に存在する最も簡単なソリューションです。
Tarik

1
ヒントをどうもありがとう!`NoGit 'Visual Studio拡張機能はVS 2017では機能しないため、これがVS 2017を「git-monitoring」から停止する唯一の方法です:-)ありがとうございます。👍
ルスランGaripov

11

IDEが読み込まれるたびにVS2015でgit SCCが再度有効になる1つの理由は、CodeLensです。ツール/オプション/テキストエディター/すべての言語/ CodeLens TFVSおよびGitに関連するさまざまなアクティビティのチェックボックスがあります。これらのgitチェックボックスのいずれかをオンにすると、gitリポジトリで作業していると思われる場合、Gitプラグインが自動的に有効になります。


ソース管理からソリューションを削除したり、VSインストールに損傷を与えたりすることを示唆していない(私にとっては)動作する答え。
Evren Kuzucuoglu 2017年

これは厳密な解決策です。
ファンパブロカリファノ2017

Visual Studio 2017がソース管理を無効にするという些細なことをオーバーライドするのを見たので、これは本当に重要です。しかし、それ以降でもVS 2017は.vsフォルダーを作成するようです。
Royi 2017年

8

NoGit Visual Studio拡張機能がこの動作を処理します。

ボーナス:素晴らしい説明。


残念ながらVS2013 SP3では機能しなくなりました
thumbmunkeys

VS 2013 Update 4を使用していますが、それでも問題なく動作します。
mxmissile 2015

gitの統合とcodelensに表示されるgitの情報を混同しました...説明をありがとうございます!
thumbmunkeys 2015

3
2015年もサポートしていません
ベンワイルド

@BenWilde新しいバージョンはVS 2015 Update 1で動作します(ここにアクセスしてください:github.com/hmemcpy/nogit
Ruslan Garipov

8

Visual Studio 2015では、CodeLensが再起動後にGitソース管理プラグインを再度有効にしていることがわかりました。CodeLensを無効にすることでこれを修正しました。


これは、Visual Studio 2017でGITを無効にするために重要です。
Royi 2017年

6

(更新:この回答は、GIT_DIRとGIT_WORK_TREEに対する私の深い理解に基づいた完全に機能するソリューションを提供します)

概要:Gitは柔軟性が高い.gitため、tfsからチェックアウトされたファイルを使用して、ディレクトリを作業ディレクトリの外の場所に移動できます。これにより、Visual Studioがgitリポジトリとして動作しながら検出できるgitの痕跡なしに、100%クリーンなtfsチェックアウトが可能になります。重要なのは、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に保存されているものをまったく知らないため、ビジュアルスタジオに関しては完全に機能します。


ちなみに、git-tfは当然cygwinパスを好まないので、GIT_...=c:/work/...git tfを使用する場合に使用します。
hlovdal 2014年

これはすばらしいですが、\ c \ work \ ..スタイルの代わりにc:/ work / ...スタイルパスを使用することをお勧めします。
zumalifeguard 2016年

6

これは、Visual Studio 2013および2015で私にとっては機能しました。VisualStudioを閉じて再度開いた場合でも保持されます。

  1. ソリューションを開く

  2. [ツール]-> [オプション]-> [ソース管理]-> [プラグインをなし]に移動します。

  3. Visual Studioを閉じ、以下のコマンドを管理者権限で実行します。

"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 "

VS 2015 Update 1:MSFT TFSプロバイダーがこの後機能しない
Ruslan Garipov

...または、@ John Brettが提案するように、CodeLensを無効にすることもできます。
マイク

6

Visual Studio 2015からMicrosoft GitProviderを削除する

リンク:http : //researchaholic.com/2015/02/02/remove-the-microsoft-gitprovider-from-visual-studio-2013/

  1. Visual Studioが閉じていることを確認してください
  2. regeditを開く
  3. HKEY_CURRENT_USER \ Software \ Microsoft \ VisualStudio \ 14.0_Config \ SourceControlProvidersに移動します
  4. 11b8e6d7-c08b-4385-b321-321078cdd1f8を削除します。詳細ウィンドウで、GitProviderと言う必要があります
  5. Visual Studioを開く

1
この回答の改善-次のregファイルを適用しますWindowsレジストリエディターバージョン5.00 [-HKEY_CURRENT_USER \ SOFTWARE \ Microsoft \ VisualStudio \ 14.0_Config \ SourceControlProviders \ {11b8e6d7-c08b-4385-b321-321078cdd1f8}]
Ivan

4

これらのレジストリキーをすべて削除することで、組み込みのVisual Studio Gitプロバイダーを無効にできました。

7FE30A77-37F9-4CF2-83DD-96B207028E1B

11b8e6d7-c08b-4385-b321-321078cdd1f8


1
これは私にとってはうまくいきます!ありがとう!しかし、1つの質問が残ります。最終的にVSを更新する場合(マイナーまたはメジャー更新を行う場合)、キーを再度削除する必要がありますか?
Ruslan Garipov

4

新しい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

簡単です。


インストールするには、.vsix拡張子を.zipに手動で変更することをお勧めします。これにより、ファイルを右クリックして抽出できます。次に、新しい抽出フォルダーをユーザーのアプリデータフォルダー(%appdata%\ Local \ Microsoft \ VisualStudio \ {version} \ Extensions)に配置するだけです。次に、Visual Studioを再起動し、[ツール]-> [拡張機能と更新]を開いて、 "NoGit"を見つけて有効にし、再起動します。
ベンワイルド

4

1週間は苦痛で、VS2015でこのソース管理サービスを開始する方法を知りませんでした。しかし、それを止める方法を知った。git / any source controlをVS2019と分離する手順は次のとおりです。

VS-> Tools-> Options-> Source Control-> [Current Source Control Plug-in]に移動します

システムで可能なすべてのソース管理となしオプションを取得します。[なし]を選択すると、準備は完了です。鉱山は[なし]オプションを選択した直後に修正され、[OK]をクリックしてVSを再起動し、ソースコントロールはもうありません。


3

すべてのVSソリューションを閉じる必要があります。1つを開始し、Menu \ tools \ options \ Source Control \ Git-> Noneを設定し、プロンプトが表示されたらこのソリューションを閉じます。現在、他のソリューションを開くと、オプションは「なし」のままです。


1

VS2015はアイドル時にCPUの50%を消費していました。Gitを無効にすることが解決策であることを知りました。残念ながら、Gitを無効にすると、Gitが自動的に再び有効になることを学習します。

私の場合、実際にはGitを使用したいと思っていましたが、CPU使用率が50%ではありませんでした。

NoGitソリューションはVS2013でのみ利用できるため、代わりにGitソース管理プロバイダーをダウンロードできます( Gitを使用しない場合でも)。アイドル時のCPU使用率が50%ではなく、2.2%になりました。


1

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.slnVisual Studioでを開くと、.gitフォルダーが見つからず、TFSに接続されます。

からgitコマンドを実行するD:\Projects\TFS-GITと、.gitフォルダーも使用できることを除いて、Visual Studioと同じファイルが使用されます。TortoiseGitもこのフォルダーから正常に動作します。


0

私はこれの解決策を見つけるのに苦労し、非常に多くの試みの後にそれを作ったので、正確ではありません。GitHubデスクトップを使用して、別のフォルダーに別のローカルリポジトリを作成します。これで、プロジェクトを読み込まずにVisual Studioを開くと、チームエクスプローラーに両方のリポジトリが表示されます。いくつかの操作を行う必要があるので、新しいリポジトリを選択します。この場所では、新しいリポジトリが「アクティブ」なリポジトリであるため、古いリポジトリを「削除」できます。これを行った後、以前のフォルダから.hidden .git *ファイルを削除しました。プロジェクトを開いても、古いリポジトリは再作成されません。お役に立てれば。


0

それはクレイジーですが、私にとってうまくいったのは、私のソリューションの不要な.gitフォルダが含まれているごみ箱にすることでした。

まだ信じられない...


0

「C:\ Program Files(x86)\ Microsoft Visual Studio 14.0 \ Common7 \ IDE \ CommonExtensions \ Microsoft \ TeamFoundation」の名前を変更します

VSはエラーを1回だけ表示し、正常に動作します。


0

このgit拡張地獄は、IDE(私の場合、VS 2015)のすべてを遅くします。これを取り除くには、TeamFoundationフォルダー全体を削除する必要がありました。欠点は、Visual Studio 2015でGitとTeamFoundationを使用できなくなることです。注:このフォルダーを別の場所にバックアップし、必要に応じて復元してください。

フォルダを削除するには、これを行いました。 適切なフォルダを削除するために実行した手順

私がこれを行った理由は、VS 2015がTeamFoundation拡張機能のランダムなフォルダー名を生成するため、私のフォルダー名があなたのものと異なる可能性があるためです。


-2

ツール、オプション、ソース管理、プラグイン選択、なし


8
Visual Studio 2013はこの変更を保持しません。次にソリューションを開いたときに、.gitディレクトリが検出された場合、Gitプラグインが自動的に再選択されます。ソリューションがすでにTFVCにバインドされている場合でも、これは行われます。
マークWディクソン

-4

1)ソリューションとビジュアルスタジオを閉じます。2)ソリューションのディレクトリに移動し、非表示のgitディレクトリと2つのgitテキストファイルを削除します。3)ビジュアルスタジオを再度開きます。4)goto tools->オプションとソース管理。5)なしを選択します。6)Visual Studioを再起動します。7)ソリューションを開きます。8)ツールに移動->オプションとソース管理を再度開き、TFSを選択します。9)ソリューションで右クリックして、ソース管理をソリューションに追加を選択します。10)tfsを選択します。


彼らはTFSを望んでおらず、ローカルのコミット履歴全体を消去するため、.gitフォルダーを削除したくありません。彼らが求めているのは、VSが.gitフォルダの情報を使用しないようにする方法であり、そのフォルダを削除する方法ではありません。
ケツァルコアトル2018

-5

Tools \ Options \ Source ControlをTFSに戻します。Visual Studio 2015を閉じます。ソースコードのルートフォルダーを開きます。 「.git」という名前のフォルダーを削除します。 再起動。


4
これは、opにgitからフォルダを完全に削除するように依頼するようなものです。「コマンドラインでソース管理を管理したい」というのは、それが彼にとっての解決策ではないことを示しているようです。
Evren Kuzucuoglu 2017年
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.