3

古いリモート リポジトリからのリモート ブランチの比較的大きなコレクションがあります。

$ git branch -r
  guy/feat1
  guy/feat2
  guy/feat3
  guy/feat4
  guy/feat5
  guy/feat6
  guy/feat7
  guy/feat8
  origin/HEAD
  origin/master

guyすべてのブランチを削除する 1 つのコマンドはありますか?

guyリポジトリには、リモート リポジトリがなくなりました。

4

3 に答える 3

4

(から)試すこともできますgit remote

git remote --prune guy

と:

prune

の下にあるすべての古いリモート追跡ブランチを削除し<name>ます。
これらの古いブランチは、 によって参照されるリモート リポジトリから既に削除されてい<name>ますが、「remotes/」で引き続きローカルに利用できます。

オプションを--dry-run指定すると、どのブランチが剪定されるかを報告しますが、実際にはそれらを剪定しません。

「との違いgit remote prunegit branch -d -r」も参照してください。

guy が有効なリモート リポジトリではなくなった場合:

git gc --prune=now

これらのブランチをクリーンアップします (参照されていないコミットもいくつかあるため、注意して使用してください)
。詳細については、「Git から無効なリモート ブランチ参照を削除するにはどうすればよいですか?git branch -rd guy/badbranch」を参照してください。これが機能しない場合はgit gc --prune=now、解決策にもなります。

于 2013-03-17T15:32:20.523 に答える
4
git branch -r | grep guy/ | xargs git branch -d

$(標識が実際には出力の一部ではないと仮定すると...)

于 2013-03-17T15:31:59.500 に答える
0

リモート ブランチを削除するには、 git push <remote-repo> :branch-to-delete branch-to-delete の前にコロンを付けてください。git で複数のリモート ブランチを削除するも参照してください。これは、ワンライナーを作成して複数のブランチを一度に削除する方法を示しています。

于 2013-03-17T15:37:35.733 に答える