Visual Studio 2015でgitマッピングを削除する


157

この質問はgit自体とは関係ありません。むしろ、それはVisual Studio 2015(VS2015)が以前に見たgitリポジトリへのバインディング/マッピングの削除に関係しています。

これが問題のスクリーンショットです: 削除ボタンがグレー表示されている

削除ボタンがグレー表示されている(無効になっている)ことに注意してください。このエントリを「ローカルGitリポジトリ」リストから削除するにはどうすればよいですか?


それは現在未発表NoGitリリースに簡単だ、見stackoverflow.com/a/33789257/2284031
ベン・ワイルド

新しいソリューションを追加するときは、「Gitリポジトリに追加」が小さな右下でチェックされていないことに注意してください
Iman

1
以下の答えはどれもうまくいきません。したがって、私は回避策を使用しました:Studioを閉じ、.gitフォルダーの名前を.git1などの名前に変更します。Studioを開き、gitフォルダーの名前を.gitに戻します。Windowsでドットで始まるフォルダ名を付けるには、名前の最後に「.git1」などのドットを1つ追加する必要があることに注意してください。
bruha

回答:


210

解決策はそれよりはるかに簡単です。プロジェクトのUNCパスから3つのファイルを削除するだけです。

ソリューションのUNCパスに移動します。

例:C:\ Users \ Your User Name \ Documents \ Visual Studio 2015 \ Projects \ Your Project Folder

次に、.git*ファイルとフォルダを完全に削除( "SHIFT + DEL")します。2つのファイルと1つのフォルダーがあり、これらは非表示になっている可能性があるため、フォルダーと検索オプション> [表示]> [非表示のファイル、フォルダー、ドライブ(ラジオボタン)を選択]が選択されていることを確認してください。

完全に削除するファイルは次のとおりです。

.gitignore(ファイル)

.gitattributes(ファイル)

.git(フォルダー)

Visual Studioを再度開くと、Gitソース管理との関係はありません。上記のようにレジストリから削除することもできますが、マシンの「ハウスキーピング」を除いて、それは必要ありません。


2
+1。私の経験では、レジストリを操作してもうまくいかないようです。プロジェクトを別の場所(vmからローカル)にコピーした後でこれを行い、.gitignore、.gitattributes、および.gitを削除した後、これでうまくいきました。
cr1pto 2016

42
-1これはVSのgitマッピングを削除するのではなく、gitリポジトリ自体を削除します。これらの手順でVSがgitへのマッピングを停止する理由は、リポジトリを吹き飛ばしたためです。gitを使用したいが、VSが関与したくない人はどうですか?これはOPが求めていたものです。
Rob Levine 2016年

5
@Richard_D-基本的に-標準的な方法でgitを使用している場合、この.gitフォルダー gitです。これは、上流のgitサーバーにあるすべてのローカルコピーであり、おそらく作成したがプッシュされていないローカルブランチの唯一のコピーでもあります。多くの人がコマンドラインからgitやSourceTreeなどのツールを使用しており、VSでgit統合を使用したくありません。この場合、必要なのはVSでのgitサポートを無効にすることだけであり、実際にローカルのgitインストールを改ざんするのではありません。それはもっと理にかなっていますか、それとも私はあなたの懸念を誤解していますか?
Rob Levine 2016年

4
これは恐ろしい考えです。犯罪的に過失も頭に浮かぶ。シートベルトdefeatersは別のものです。これはマッピングを削除するのではなく、リポジトリ自体を削除します。
Panagiotis Kanavos 2017

2
私の場合、それは完全に機能しました。誤って、プロジェクトをソース管理に追加しようとしましたが、ローカルでGITリポジトリに配置する方法もありました。ドライブがクラッシュするとすべてが失われるため、これはソース管理の目的に反します。TFSに接続しようとすると、デフォルトでGITに戻りました。すべてのGITファイルを削除し、VSを再び開くことで、私にとっては完全に機能しました。+!親切な先生!
Logixologist

59

ツール->オプション->ソース管理->現在のソース管理プラグイン:なし


4
これが本当の答えです。私の場合、バージョン管理には常にTeam Foundation Serverを使用しています。MicrosoftがGitを推進しているようです-気に入らないでください。
Alexey Shevelyov 2017年

これはプロジェクトを閉じ、Visual Studioのソース管理を無効にするだけです。次回プロジェクトを開くと、git統合が再度有効になります。
Skye MacMaster

40

短縮版

  1. で適切なentr(y | ies)を削除しますHKEY_CURRENT_USER\Software\Microsoft\VisualStudio\14.0\TeamFoundation\GitSourceControl\Repositories

  2. 削除HKEY_CURRENT_USER\Software\Microsoft\VisualStudio\14.0\TeamFoundation\GitSourceControl\General\LastUsedRepositoryしようとしているリポジトリと同じ場合は削除します。

バックグラウンド

Visual Studioは、これまでに確認したすべてのgitリポジトリを追跡しているようです。リポジトリを参照していたプロジェクトを閉じても、古いエントリがリストに表示されることがあります。

この問題はVisual Studioにとって新しいものではありません。

VS2013-[削除]オプションが常に無効になっているときに、チームエクスプローラーウィンドウからローカルgitリポジトリを削除するにはどうすればよいですか?

Visual Studio 2013ソリューションからGitバインディングを削除しますか?

これは、おそらく組み込み機能であるべき何かのための多くの作業のようです。上記の「解決策」では、.gitファイルなどに変更を加えることに言及しています。Visual Studioの外部のものを変更し Visual Studioの内部のものに影響を与えるという考えは好きではありません。私のソリューションはいくつかのレジストリ編集を行う必要があります(VSの外部にあります)が、少なくともこれらはVSにのみ影響します。これが回避策です(read:hack):

詳細な手順

以下の手順を実行する前に、必ずVisual Studio 2015を閉じてください。

1. regedit.exeを開き、次の場所に移動します

HKEY_CURRENT_USER\Software\Microsoft\VisualStudio\14.0\TeamFoundation\GitSourceControl\Repositories

VSのRegeditリポジトリ

VSが追跡しているリポジトリを表す複数の「ハッシュ」値が表示される場合があります。

2.リストから削除するgitリポジトリを見つけます。見てくださいnamepath削除に正しいリポジトリを確認するために、値:

削除するリポジトリを確認

3.キー(および対応するサブキー)を削除します。

(オプション:削除する前に、右クリックして[ エクスポート ]を選択すると、間違いをした場合に備えてこのキーをバックアップできます。次に、キーを右クリックします(私の場合、これはAE76C67B6CD2C04395248BFF8EBF96C7AFA15AA9[ 削除]を選択します)。

4. LastUsedRepositoryキーが「何か他のもの」を指していることを確認します。

上記の手順で削除しようとしているリポジトリマッピングがに保存されているLastUsedRepository場合は、このキーも削除する必要があります。最初に移動:

HKEY_CURRENT_USER\Software\Microsoft\VisualStudio\14.0\TeamFoundation\GitSourceControl\General

一般的なキーの場所

キーを削除しますLastUsedRepository(キーは必要に応じてVSによって再作成されます)。キーの削除が心配な場合は、値を変更して空の文字列に設定するだけです。

最後に使用したリポジトリを削除

Visual Studio 2015を再度開くと、gitリポジトリバインディングがリストに表示されなくなります。


レジストリをいじるのは良い考えだとは思いません...もしこれがうまくいくなら、クールですが、私の経験ではこれは最も安全な方法ではありません。より安全な解決策については、@ helixの回答を参照してください。
cr1pto

3
@Richard_D-helixの答えはgitへのVSマッピングを削除せず、それはgitリポジトリ自体を破壊しますが、これはOPが求めているようには見えません。レジストリをハッキングすることは理想的ではありませんが、少なくとも実際の問題を解決しようとします。「私はGitリポジトリを使用していますが、VSに関与させたくないのです」
Rob Levine

これはOPの質問に答えているようですが、これは正しい答えですか?私はわかりません。@Helixの回答で私の質問を参照してください。ロブに感謝します、あなたの洞察に感謝してください。
cr1pto 2016年

1
VS2015は、次にソリューションが開かれたときに、これらのレジストリエントリを復元するだけです。
アミットG

1
開発者は、Windowsレジストリの編集を恐れるべきではありません。特にそれが明らかにVisual Studioのキーである場合!.gitディレクトリを削除することは私には選択肢ではありません。
0xF

21

Gitリポジトリは、アクティブプロジェクトではなくなったときに、VS-2015ローカルGitリポジトリリストから削除できます。

スクリーンショットにはリポジトリが1つしかなく、アクティブになっているため、削除できません。

2つ以上のリポジトリがある場合、アクティブなリポジトリを表す1つが太字で表示されます。その時点で、他のアクティブでないリポジトリは削除できます。

そのため、問題を解決するために、2番目のローカルリポジトリに接続する場合、スクリーンショットで強調表示しているリポジトリを削除できます。

残念ながら、チームエクスプローラーは常に1つのリポジトリをアクティブに保つようです。別のリポジトリーに切り替えずにすべてを手放すように説得する方法がわからない。


しかし、他のリポジトリにどのように「接続」しますか?VSがレポにあると、ソリューションエクスプローラーメニューの同じ[ソースコントロールに追加]オプションを使用して別のリポジトリに接続できないようです。(nvmがソリューションディレクトリから.gitおよびその他のgitファイルを削除するのに役立ちました。)
Gram

@グラム。ローカルGitリポジトリ(OPスクリーンショットを参照)で、「新しい」Gitリポジトリを作成するか、既存のGitリポジトリを「複製」できます。新しいgitリポジトリを作成する場合は、ローカルハードドライブ上のパスを指定して、[作成]をクリックします。その後、リストに表示されます。新しいリポジトリをダブルクリックすると、太字で強調表示され、背後でアクティブなリポジトリになります。この時点で、他のリポジトリをリストから削除できます。
Chris C.

つまり、既存のプロジェクトを既存のgithubリポジトリに接続するのではなく、新しいローカルリポジトリを作成します。おっと、2回目の読み上げで、削除が唯一の問題だと思います。既存のものに接続する方法は質問の一部ではありません、私の間違いです。
グラム

18

.git隠しフォルダを削除するとうまくいきました。


これにより、フォルダーがgitチェックアウトからフォルダーに変換されます。Visual Studioがこれを行うため、チェックアウトディレクトリの目的を変更しないでください。
クリスティアン

非常に遅いですが、どうもありがとう...これは、これまでの私のキャリアの中で最もイライラさせられ、迷惑な朝の1つでした。これを処理するために彼らが組み込んだ愚かな機能は...
haag1

11

上記の答えは私にはうまくいきませんでした。レジストリエントリは、Visual Studioでソリューションを開いたときに自動的に再追加されるだけです。私はマシューズの回答のリンクの1つに解決策を見つけましたが、正解はクレジットに残っています。

Visual Studio 2013ソリューションからGitバインディングを削除しますか?

非表示を削除します .gitsolutionfolderのフォルダーをします。

また、フォルダーをクリーンに保つために、.gitattributesおよび.gitignoreファイルを削除しました。


2
チームエクスプローラーではなく、プロジェクトをgitで管理する場合は、これは役に立ちません。私は個人的に、チームエクスプローラーが別のVSプラグインを介してGitを使用すると混乱することを発見しましたが、これはまったく望ましくありません。
Henry Wilson

これはVSからgitアドインを削除しません。VSはGitブッシュに打ち勝ち続けており、悪化しています。
IAbstract

@IAbstract質問はVSからgitアドインを削除することを求めていません。
Gene S

@ヘンリー・ウィルソンコメントは質問に関連しているようではありません。私の答えは、Visual Studioからバインディング/マッピングを削除します。それは私のために機能し、明らかに他の人のために機能します。
Gene S

1
それは質問に完全に関連しています!OPは、ソース管理にgitを使用しているかどうかを述べておらず、VSでバインディングを取り除く方法を知りたいだけです。.gitフォルダーと.gitattributes / .gitignoreファイルを削除することは、ソース管理に実際にgitを使用していないことを前提としています。
Henry Wilson

9

NoGit拡張機能は、ソリューションが読み込まれるたびにGitソース管理プロバイダーをオフにすることで、問題を単に隠します。Visual Studioに読み込まれるすべてのソリューションに対してこのジョブを実行します。

Chris Cが提案したように、別のプロジェクトを開いてローカルGitリポジトリからGitリポジトリを削除することで解決しました([表示]> [チームエクスプローラー]> [ローカルGitリポジトリ]で、削除するリポジトリを選択して[削除]をクリックします)。次に、helixの提案に従って、プロジェクトパスから.gitフォルダーを削除しました。プロジェクトを再開すると、ついにGit統合がなくなりました!


ソリューションのフォルダーから.gitフォルダーといくつかの.gitファイルを削除するだけで修正されました。皆さんありがとう!
PTansey

8
  1. プロジェクトディレクトリに移動します。
  2. フォルダーをクリックしますメニュー->ツール->フォルダーオプション
  3. [ 表示]タブを選択します
  4. [ファイルとフォルダ]で[非表示のファイル、フォルダ、ドライブを表示する]を選択します
  5. OKをクリックします
  6. .gitフォルダを削除します
  7. Visual Studioを閉じて再度開きます
  8. プロジェクトを開く
  9. できました。:)

安全なコーディング。


1
それは私たちがやろうとしていることではありません。私たちはgitを望んでおり、VSとgitの統合を望んでいません。
ジェリー

7

とても簡単です

  1. 削除するプロジェクトに接続していないことを確認してください

  2. プロジェクトはソリューションエクスプローラーで閉じられています

    以上です。今すぐ再試行すると、削除アクションが有効になります


ありがとう。これは最も簡単で、答えとして選択する必要があります。
ロナルドラモス

機能しますが、削除オプションが無効になっていることを確認したら、Visual Studioを閉じて再度開きます。私はそれをVS 2017で使用しました
freedeveloper

5

Visual Studio 2015プロジェクトからgitインテグレーションを削除するのに少し時間を費やしました。Visual StudioからGitを削除し、次のようにTFSを追加するときはいつでも-ツール->オプション-> sourceControl->プラグインの選択-> Visual Studio Team Foundation Serverは、以前は戻ってきました。

私の解決策は-

プロジェクトの物理的な場所を作成する-すべての隠しファイルを表示します。あなたはウィンドウの隠しファイルとフォルダオプションを表示することでこれを行うことができます。その後、.gitと呼ばれる隠しフォルダがあったことに気づきました。私は自分のプロジェクトフォルダーの完全なバックアップと他の必要なgitフォルダーのバックアップをすべて保持しました(プロジェクトが壊れた場合に備えて、このバックアップを保持したので、以前の状態に戻ることができます)。

次に、非表示の.gitフォルダーとその他の.git関連ファイルを削除しました。

次に、ツール->オプション-> sourceControl->プラグインの選択-> Visual Studio Team Foundation Serverを試します。その後、ビジュアルスタジオ-ファイル->開く->プロジェクト/ソリューションでプロジェクトを開きます。

その後、ソリューションエクスプローラーで右クリックして、ソリューション名を右クリックします。「ソース管理」オプションが表示されます。また、プロジェクトで右クリックすると、「ソース管理にソースを追加」が表示されます。今回は、ソリューションをgitに追加しませんでした。 。

また、ソース接続エクスプローラーからgit接続を削除することをお勧めします。

したがって、主なことは、プロジェクトファイル内に非表示のgitファイルがないこと、および他のgit拡張子がないことを確認することです。これが誰かに役立つことを願っています。


2

Juliano Nunes Silva Oliveiraの答えに加えて、regeditにハッキングしたり、非表示の.gitフォルダーを削除したり、VS15設定を変更したりせずに、最も単純で最もクリーンな方法は、別のリポジトリに接続することです。接続すると、他のリポジトリのテキストが太字で表示され、Gitローカルリポジトリを選択します。今、あなたはそれを見る

削除する

メニュー項目が有効になっているため、Gitローカルリポジトリを削除できます

Visual Studio 2015でGitを使用するときにブランチを処理する場合と同じ動作です。削除するブランチを削除する前に、別のブランチを選択する必要があります。

それをよりよく理解するために視覚化が必要な人のために。リンク画像を参照してください: 方法

ハッピーコーディング


1

ソリューションフォルダー内の.gitディレクトリの存在を検索するだけです。非表示の可能性があるそのフォルダーを削除すると、Visual Studioはそれをgitプロジェクトと見なしなくなります。


これは、削除するとgitプロジェクトではなくなるためです。バージョン管理を効果的に破棄しました。それがあなたがやりたいことなら、結構です。
gliljas

それがまさに私がやりたかったことです。Visual Studioは、30日間のライセンスをソース管理に追加するときに、ライセンスを期限切れにすることを決定しました。私のプロジェクトを混乱した状態にし、ドキュメントを追跡することができませんでした。
Nathan Goings 2017年

1

別のリポジトリーに接続し(TFSリポジトリーで試しました)、「接続の管理」に移動し、Gitリポジトリーを右クリックすると、リポジトリーを削除できる場合があります。

ただし、ソリューションを再度開く前に、プロジェクトパスから.gitフォルダーとファイルを手動で削除する必要があります。


1

@Matthew Krausは、メニューバーからツールをクリックし、[オプション]をクリックして、ソース管理を検索し、ドロップダウンリストから[なし]を選択して、[OK]をクリックします。非表示の.gitフォルダーをプロジェクトフォルダーから削除します。プロジェクトを再度開きます。 ここに画像の説明を入力してください


0

に移動しControl Panel\User Accounts\Credential Managerて選択しWindows Credential、gitのアカウントを削除します。



0

すでに接続されているローカルgitリポジトリは削除できません。ソリューションを閉じて別のソリューションを開き、ローカルのgitリポジトリを削除してください。.git隠しフォルダを削除することを忘れないでください私のために働きます

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.