web-dev-qa-db-ja.com

Visual Studio 2015から削除されたGitブランチを削除する方法

Visual Studioは、そのブランチが削除された後(そして、選択されたブランチとしてそれを持っていない場合でも)、プルしたブランチを引き続き表示します。

  • git fetch --all --Prune "はそれらを削除しません。gitconfig
  • remote.Origin.Prune true "( ここで推奨 )はそれらを削除しません。

削除したブランチをシステムから削除するにはどうすればよいですか?

更新:失われたブランチを特定して削除するアプローチが必要です。具体的に選択すると、遅かれ早かれ誰かが誤って使用中のブランチを削除してしまいます。

14
David Thielen

Pruneは、リモートに存在しないリモート追跡参照を削除することです。

そのため、ブランチがリモート側にまだ存在する場合、ローカルで削除されません。

ブランチが ローカルで(Visual Studioを使用して)削除された場合 、そのリモートトラッキングインスタンスは次のプッシュ時に再作成されます。

ブランチが リモート側でも削除されていることを確認する必要があります

git Push Origin --delete abranch
6
VonC

サーバーで削除された後でも消えないリモートブランチがありました。 「プルーンリモートブランチ」の設定に関するこのヒントは私にとってはうまくいきました。私はそれを見つけました ここ

チームエクスプローラーに移動し、[ホーム]ボタンをクリックします。次に、[設定]> [リポジトリ設定]をクリックし、[フェッチ中にリモートブランチを削除]ドロップダウンをTrueに設定します。編集を保存するには、「更新」ボタンをクリックすることを忘れないでください。

設定を変更した後、削除したブランチの1つでフェッチを実行したところ、削除されたすべてのブランチが消えていました。

11
Homer

Visual Studio 2015および2017

  1. チームエクスプローラーを開き、[ブランチ]ビューに移動します。
  2. 削除するブランチを見つけます。そのブランチにチェックアウトされていないことを確認してください。現在作業中のブランチは削除できません。
  3. ブランチ名を右クリックして、[削除]を選択します。非公開の変更がある場合、Visual Studioは、作業を失わないようにブランチを削除するかどうかを確認します Image
1
Rohit Poudel

リモートから「削除」されたブランチを削除するほとんどすべての基本的な解決策は、リモート参照もないため、まだプッシュされていないローカルブランチも削除する可能性が非常に高いです。

この警告を回避するには、シェルスクリプトを(git fetch --Pruneの後)に記述します。

  1. git branch -vv(おそらく2.13.xでgit-branchに追加された--formatフラグ)を使用して、ブランチのリストを取得すると、より簡単に解析できる形式になりますが、この機能はまだ使用していません)
  2. リモートでブランチをこのリストで検索します(grep -e '\['へのパイプでうまくいくはずです)
  3. いくつかの派手なgrep作業でブランチ名を解析します
  4. リモートをループしてリモート参照を確認する
  5. リモコンが見つからない場合はブランチを削除してください

完全にコードセーフなシンプルなソリューションが必要な場合は、次のコマンドを使用して、特定のブランチに(完全に)マージされたブランチを簡単かつ安全に削除できます。

git branch -D `git branch --merged Origin/master | grep "^  " | xargs`

必要に応じて適切なブランチに置き換えます。 grepは、現在チェックアウトされているブランチを削除しようとするのを防ぎます。

注意willリモートが削除されていなくてもローカルブランチ参照を削除しますが、コミットはどちらの方法でも安全であり、それらのブランチが再び必要になった場合は、いつでもチェックアウトできます。

0
LightBender